From 2b717491997422268cbb442fb568a31ceba652d3 Mon Sep 17 00:00:00 2001
From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com>
Date: Mon, 15 Feb 2021 12:31:54 +0200
Subject: [PATCH 1/8] init
---
OsmAnd/res/layout/track_groups_card.xml | 15 +++++
.../osmand/plus/track/PointsGroupsCard.java | 64 +++++++++++++++++++
.../osmand/plus/track/TrackMenuFragment.java | 25 +++++++-
.../osmand/plus/track/TrackPointsCard.java | 4 ++
4 files changed, 106 insertions(+), 2 deletions(-)
create mode 100644 OsmAnd/res/layout/track_groups_card.xml
create mode 100644 OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
diff --git a/OsmAnd/res/layout/track_groups_card.xml b/OsmAnd/res/layout/track_groups_card.xml
new file mode 100644
index 0000000000..216c029bad
--- /dev/null
+++ b/OsmAnd/res/layout/track_groups_card.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java b/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
new file mode 100644
index 0000000000..c7265b882f
--- /dev/null
+++ b/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
@@ -0,0 +1,64 @@
+package net.osmand.plus.track;
+
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import net.osmand.plus.GpxSelectionHelper.GpxDisplayGroup;
+import net.osmand.plus.GpxSelectionHelper.GpxDisplayItemType;
+import net.osmand.plus.R;
+import net.osmand.plus.activities.MapActivity;
+import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter;
+import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter.HorizontalSelectionAdapterListener;
+import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter.HorizontalSelectionItem;
+import net.osmand.plus.routepreparationmenu.cards.BaseCard;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class PointsGroupsCard extends BaseCard {
+
+ private final TrackDisplayHelper displayHelper;
+ private final GpxDisplayItemType[] filterTypes = new GpxDisplayItemType[] {GpxDisplayItemType.TRACK_POINTS, GpxDisplayItemType.TRACK_ROUTE_POINTS};
+ private final List displayGroups = new ArrayList<>();
+
+ public PointsGroupsCard(@NonNull MapActivity mapActivity, @NonNull TrackDisplayHelper displayHelper,
+ @NonNull List groups) {
+ super(mapActivity);
+ this.displayHelper = displayHelper;
+ displayGroups.addAll(groups);
+ }
+
+ @Override
+ public int getCardLayoutId() {
+ return R.layout.track_groups_card;
+ }
+
+ @Override
+ protected void updateContent() {
+ List groupNames = new ArrayList<>();
+ for (GpxDisplayGroup group : displayGroups) {
+ String categoryName = group.getName();
+ if (TextUtils.isEmpty(categoryName)) {
+ categoryName = app.getString(R.string.shared_string_gpx_points);
+ }
+ groupNames.add(categoryName);
+ }
+ HorizontalSelectionAdapter selectionAdapter = new HorizontalSelectionAdapter(app, nightMode);
+ selectionAdapter.setTitledItems(groupNames);
+ selectionAdapter.setSelectedItemByTitle(app.getString(R.string.shared_string_gpx_points));
+ selectionAdapter.setListener(new HorizontalSelectionAdapterListener() {
+ @Override
+ public void onItemSelected(HorizontalSelectionItem item) {
+
+ }
+ });
+
+ RecyclerView recyclerView = view.findViewById(R.id.recycler_view);
+ recyclerView.setAdapter(selectionAdapter);
+ recyclerView.setLayoutManager(new LinearLayoutManager(app, RecyclerView.HORIZONTAL, false));
+ selectionAdapter.notifyDataSetChanged();
+ }
+}
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java b/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
index ff2ec67140..e1fd0e7ea8 100644
--- a/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
+++ b/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
@@ -132,6 +132,7 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
private DescriptionCard descriptionCard;
private OverviewCard overviewCard;
private TrackPointsCard pointsCard;
+ private PointsGroupsCard groupsCard;
private TextView headerTitle;
private ImageView headerIcon;
@@ -331,8 +332,28 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
headerContainer.addView(overviewCard.build(getMapActivity()));
}
} else {
- if (overviewCard != null && overviewCard.getView() != null) {
- headerContainer.removeView(overviewCard.getView());
+ if (menuType == TrackMenuType.POINTS) {
+ if (groupsCard != null && groupsCard.getView() != null) {
+ ViewGroup parent = ((ViewGroup) groupsCard.getView().getParent());
+ if (parent != null) {
+ parent.removeView(groupsCard.getView());
+ }
+ headerContainer.addView(groupsCard.getView());
+ } else {
+ groupsCard = new PointsGroupsCard(getMapActivity(), displayHelper, pointsCard.getGroups());
+ groupsCard.setListener(this);
+ headerContainer.addView(groupsCard.build(getMapActivity()));
+ }
+ if (overviewCard != null && overviewCard.getView() != null) {
+ headerContainer.removeView(overviewCard.getView());
+ }
+ } else {
+ if (overviewCard != null && overviewCard.getView() != null) {
+ headerContainer.removeView(overviewCard.getView());
+ }
+ if (groupsCard != null && groupsCard.getView() != null) {
+ headerContainer.removeView(groupsCard.getView());
+ }
}
boolean isOptions = menuType == TrackMenuType.OPTIONS;
setHeaderTitle(isOptions ? app.getString(menuType.titleId) : gpxTitle, !isOptions);
diff --git a/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java b/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java
index 3978c83ded..7fda76003c 100644
--- a/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java
+++ b/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java
@@ -109,6 +109,10 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
expandAllGroups();
}
+ public List getGroups() {
+ return adapter.groups;
+ }
+
private void addActions(LayoutInflater inflater) {
View view = inflater.inflate(R.layout.preference_category_with_descr, listView, false);
TextView title = view.findViewById(android.R.id.title);
From 457649210896122b7be71a1469db630ff83b5237 Mon Sep 17 00:00:00 2001
From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com>
Date: Thu, 18 Feb 2021 18:56:27 +0200
Subject: [PATCH 2/8] Fix conflicts, minor UI fix, all categories add,
HorizontalSelectionAdapterListener
---
OsmAnd/res/layout/track_groups_card.xml | 5 ++++
.../osmand/plus/track/PointsGroupsCard.java | 23 +++++++++++++----
.../osmand/plus/track/TrackMenuFragment.java | 25 ++++++++++++++++++-
3 files changed, 47 insertions(+), 6 deletions(-)
diff --git a/OsmAnd/res/layout/track_groups_card.xml b/OsmAnd/res/layout/track_groups_card.xml
index 216c029bad..ff070c1ed0 100644
--- a/OsmAnd/res/layout/track_groups_card.xml
+++ b/OsmAnd/res/layout/track_groups_card.xml
@@ -10,6 +10,11 @@
android:layout_height="@dimen/bottom_sheet_list_item_height"
android:background="?attr/bg_color"
android:orientation="horizontal"
+ android:paddingLeft="@dimen/content_padding"
+ android:paddingRight="@dimen/content_padding"
+ android:paddingStart="@dimen/content_padding"
+ android:paddingEnd="@dimen/content_padding"
+ android:clipToPadding="false"
android:scrollbars="none" />
\ No newline at end of file
diff --git a/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java b/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
index c7265b882f..d68b65fae6 100644
--- a/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
+++ b/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
@@ -21,7 +21,7 @@ import java.util.List;
public class PointsGroupsCard extends BaseCard {
private final TrackDisplayHelper displayHelper;
- private final GpxDisplayItemType[] filterTypes = new GpxDisplayItemType[] {GpxDisplayItemType.TRACK_POINTS, GpxDisplayItemType.TRACK_ROUTE_POINTS};
+ private final GpxDisplayItemType[] filterTypes = new GpxDisplayItemType[]{GpxDisplayItemType.TRACK_POINTS, GpxDisplayItemType.TRACK_ROUTE_POINTS};
private final List displayGroups = new ArrayList<>();
public PointsGroupsCard(@NonNull MapActivity mapActivity, @NonNull TrackDisplayHelper displayHelper,
@@ -38,7 +38,7 @@ public class PointsGroupsCard extends BaseCard {
@Override
protected void updateContent() {
- List groupNames = new ArrayList<>();
+ final List groupNames = new ArrayList<>();
for (GpxDisplayGroup group : displayGroups) {
String categoryName = group.getName();
if (TextUtils.isEmpty(categoryName)) {
@@ -46,13 +46,26 @@ public class PointsGroupsCard extends BaseCard {
}
groupNames.add(categoryName);
}
- HorizontalSelectionAdapter selectionAdapter = new HorizontalSelectionAdapter(app, nightMode);
+ if (groupNames.size() > 1) {
+ String categoryAll = app.getString(R.string.shared_string_all);
+ groupNames.add(0, categoryAll);
+ }
+ final HorizontalSelectionAdapter selectionAdapter = new HorizontalSelectionAdapter(app, nightMode);
selectionAdapter.setTitledItems(groupNames);
- selectionAdapter.setSelectedItemByTitle(app.getString(R.string.shared_string_gpx_points));
+ selectionAdapter.setSelectedItemByTitle(groupNames.get(0));
selectionAdapter.setListener(new HorizontalSelectionAdapterListener() {
@Override
public void onItemSelected(HorizontalSelectionItem item) {
-
+ selectionAdapter.setSelectedItem(item);
+ List trackPointsGroups = new ArrayList<>();
+ List routePointsGroups = new ArrayList<>();
+ for (GpxDisplayGroup group : displayGroups) {
+ if (group.getType() == GpxDisplayItemType.TRACK_POINTS) {
+ trackPointsGroups.add(group);
+ } else if (group.getType() == GpxDisplayItemType.TRACK_ROUTE_POINTS) {
+ routePointsGroups.add(group);
+ }
+ }
}
});
diff --git a/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java b/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
index fb72c0a9c8..02a3ad6a5c 100644
--- a/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
+++ b/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
@@ -133,6 +133,7 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
private DescriptionCard descriptionCard;
private OverviewCard overviewCard;
private TrackPointsCard pointsCard;
+ private PointsGroupsCard groupsCard;
private TextView headerTitle;
private ImageView headerIcon;
@@ -341,7 +342,29 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
} else {
if (overviewCard != null && overviewCard.getView() != null) {
overviewCard.getBlockStatisticsBuilder().stopUpdatingStatBlocks();
- headerContainer.removeView(overviewCard.getView());
+ if (menuType == TrackMenuType.POINTS) {
+ if (groupsCard != null && groupsCard.getView() != null) {
+ ViewGroup parent = ((ViewGroup) groupsCard.getView().getParent());
+ if (parent != null) {
+ parent.removeView(groupsCard.getView());
+ }
+ headerContainer.addView(groupsCard.getView());
+ } else {
+ groupsCard = new PointsGroupsCard(getMapActivity(), displayHelper, pointsCard.getGroups());
+ groupsCard.setListener(this);
+ headerContainer.addView(groupsCard.build(getMapActivity()));
+ }
+ if (overviewCard != null && overviewCard.getView() != null) {
+ headerContainer.removeView(overviewCard.getView());
+ }
+ } else {
+ if (overviewCard != null && overviewCard.getView() != null) {
+ headerContainer.removeView(overviewCard.getView());
+ }
+ if (groupsCard != null && groupsCard.getView() != null) {
+ headerContainer.removeView(groupsCard.getView());
+ }
+ }
}
boolean isOptions = menuType == TrackMenuType.OPTIONS;
setHeaderTitle(isOptions ? app.getString(menuType.titleId) : gpxTitle, !isOptions);
From e67395028a5c67df607d74411fc7e0559a55abc0 Mon Sep 17 00:00:00 2001
From: androiddevkotlin <64539346+androiddevkotlin@users.noreply.github.com>
Date: Mon, 22 Feb 2021 12:22:21 +0200
Subject: [PATCH 3/8] Filtering on click chips
---
.../osmand/plus/track/PointsGroupsCard.java | 54 ++++++++++---------
.../osmand/plus/track/TrackMenuFragment.java | 46 ++++++++--------
.../osmand/plus/track/TrackPointsCard.java | 35 ++++++------
3 files changed, 70 insertions(+), 65 deletions(-)
diff --git a/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java b/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
index d68b65fae6..be7fad749f 100644
--- a/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
+++ b/OsmAnd/src/net/osmand/plus/track/PointsGroupsCard.java
@@ -1,33 +1,30 @@
package net.osmand.plus.track;
-import android.text.TextUtils;
-
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import net.osmand.plus.GpxSelectionHelper.GpxDisplayGroup;
-import net.osmand.plus.GpxSelectionHelper.GpxDisplayItemType;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter;
import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter.HorizontalSelectionAdapterListener;
import net.osmand.plus.mapcontextmenu.other.HorizontalSelectionAdapter.HorizontalSelectionItem;
import net.osmand.plus.routepreparationmenu.cards.BaseCard;
+import net.osmand.util.Algorithms;
import java.util.ArrayList;
import java.util.List;
public class PointsGroupsCard extends BaseCard {
- private final TrackDisplayHelper displayHelper;
- private final GpxDisplayItemType[] filterTypes = new GpxDisplayItemType[]{GpxDisplayItemType.TRACK_POINTS, GpxDisplayItemType.TRACK_ROUTE_POINTS};
+ public static final int SELECT_GROUP_INDEX = 0;
+
+ private GpxDisplayGroup selectedGroup;
private final List displayGroups = new ArrayList<>();
- public PointsGroupsCard(@NonNull MapActivity mapActivity, @NonNull TrackDisplayHelper displayHelper,
- @NonNull List groups) {
+ public PointsGroupsCard(@NonNull MapActivity mapActivity, @NonNull List groups) {
super(mapActivity);
- this.displayHelper = displayHelper;
displayGroups.addAll(groups);
}
@@ -36,38 +33,43 @@ public class PointsGroupsCard extends BaseCard {
return R.layout.track_groups_card;
}
+ public GpxDisplayGroup getSelectedGroup() {
+ return selectedGroup;
+ }
+
@Override
protected void updateContent() {
- final List groupNames = new ArrayList<>();
+ ArrayList items = new ArrayList<>();
+ items.add(new HorizontalSelectionItem(app.getString(R.string.shared_string_all), null));
for (GpxDisplayGroup group : displayGroups) {
String categoryName = group.getName();
- if (TextUtils.isEmpty(categoryName)) {
+ if (Algorithms.isEmpty(categoryName)) {
categoryName = app.getString(R.string.shared_string_gpx_points);
}
- groupNames.add(categoryName);
- }
- if (groupNames.size() > 1) {
- String categoryAll = app.getString(R.string.shared_string_all);
- groupNames.add(0, categoryAll);
+ items.add(new HorizontalSelectionItem(categoryName, group));
}
final HorizontalSelectionAdapter selectionAdapter = new HorizontalSelectionAdapter(app, nightMode);
- selectionAdapter.setTitledItems(groupNames);
- selectionAdapter.setSelectedItemByTitle(groupNames.get(0));
+ selectionAdapter.setItems(items);
selectionAdapter.setListener(new HorizontalSelectionAdapterListener() {
@Override
public void onItemSelected(HorizontalSelectionItem item) {
- selectionAdapter.setSelectedItem(item);
- List trackPointsGroups = new ArrayList<>();
- List routePointsGroups = new ArrayList<>();
- for (GpxDisplayGroup group : displayGroups) {
- if (group.getType() == GpxDisplayItemType.TRACK_POINTS) {
- trackPointsGroups.add(group);
- } else if (group.getType() == GpxDisplayItemType.TRACK_ROUTE_POINTS) {
- routePointsGroups.add(group);
- }
+ selectedGroup = (GpxDisplayGroup) item.getObject();
+ CardListener listener = getListener();
+ if (listener != null) {
+ listener.onCardButtonPressed(PointsGroupsCard.this, SELECT_GROUP_INDEX);
}
+ selectionAdapter.notifyDataSetChanged();
}
});
+ if (selectedGroup != null) {
+ String categoryName = selectedGroup.getName();
+ if (Algorithms.isEmpty(categoryName)) {
+ categoryName = app.getString(R.string.shared_string_gpx_points);
+ }
+ selectionAdapter.setSelectedItemByTitle(categoryName);
+ } else {
+ selectionAdapter.setSelectedItemByTitle(app.getString(R.string.shared_string_all));
+ }
RecyclerView recyclerView = view.findViewById(R.id.recycler_view);
recyclerView.setAdapter(selectionAdapter);
diff --git a/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java b/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
index 02a3ad6a5c..15b42e0fb1 100644
--- a/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
+++ b/OsmAnd/src/net/osmand/plus/track/TrackMenuFragment.java
@@ -340,31 +340,24 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
blocksBuilder.runUpdatingStatBlocksIfNeeded();
}
} else {
+ if (menuType == TrackMenuType.POINTS && !Algorithms.isEmpty(pointsCard.getGroups())) {
+ if (groupsCard != null && groupsCard.getView() != null) {
+ ViewGroup parent = ((ViewGroup) groupsCard.getView().getParent());
+ if (parent != null) {
+ parent.removeView(groupsCard.getView());
+ }
+ headerContainer.addView(groupsCard.getView());
+ } else {
+ groupsCard = new PointsGroupsCard(getMapActivity(), pointsCard.getGroups());
+ groupsCard.setListener(this);
+ headerContainer.addView(groupsCard.build(getMapActivity()));
+ }
+ } else if (groupsCard != null && groupsCard.getView() != null) {
+ headerContainer.removeView(groupsCard.getView());
+ }
if (overviewCard != null && overviewCard.getView() != null) {
overviewCard.getBlockStatisticsBuilder().stopUpdatingStatBlocks();
- if (menuType == TrackMenuType.POINTS) {
- if (groupsCard != null && groupsCard.getView() != null) {
- ViewGroup parent = ((ViewGroup) groupsCard.getView().getParent());
- if (parent != null) {
- parent.removeView(groupsCard.getView());
- }
- headerContainer.addView(groupsCard.getView());
- } else {
- groupsCard = new PointsGroupsCard(getMapActivity(), displayHelper, pointsCard.getGroups());
- groupsCard.setListener(this);
- headerContainer.addView(groupsCard.build(getMapActivity()));
- }
- if (overviewCard != null && overviewCard.getView() != null) {
- headerContainer.removeView(overviewCard.getView());
- }
- } else {
- if (overviewCard != null && overviewCard.getView() != null) {
- headerContainer.removeView(overviewCard.getView());
- }
- if (groupsCard != null && groupsCard.getView() != null) {
- headerContainer.removeView(groupsCard.getView());
- }
- }
+ headerContainer.removeView(overviewCard.getView());
}
boolean isOptions = menuType == TrackMenuType.OPTIONS;
setHeaderTitle(isOptions ? app.getString(menuType.titleId) : gpxTitle, !isOptions);
@@ -853,6 +846,13 @@ public class TrackMenuFragment extends ContextMenuScrollFragment implements Card
} else if (buttonIndex == OPEN_WAYPOINT_INDEX) {
dismiss();
}
+ } else if (card instanceof PointsGroupsCard) {
+ PointsGroupsCard groupsCard = (PointsGroupsCard) card;
+ GpxDisplayGroup group = groupsCard.getSelectedGroup();
+ if (pointsCard != null) {
+ pointsCard.setSelectedGroup(group);
+ pointsCard.updateContent();
+ }
}
}
diff --git a/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java b/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java
index 7fda76003c..fe824bafc8 100644
--- a/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java
+++ b/OsmAnd/src/net/osmand/plus/track/TrackPointsCard.java
@@ -64,6 +64,7 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
private final TrackDisplayHelper displayHelper;
private final GpxDisplayItemType[] filterTypes = new GpxDisplayItemType[] {GpxDisplayItemType.TRACK_POINTS, GpxDisplayItemType.TRACK_ROUTE_POINTS};
+ private GpxDisplayGroup selectedGroup;
private final Set selectedGroups = new LinkedHashSet<>();
private final LinkedHashMap> selectedItems = new LinkedHashMap<>();
private boolean selectionMode;
@@ -97,7 +98,7 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
listView.setOnChildClickListener(this);
adapter.setFilterResults(null);
- adapter.synchronizeGroups(getOriginalGroups());
+ adapter.synchronizeGroups(getDisplayGroups());
if (listView.getAdapter() == null) {
listView.setAdapter(adapter);
}
@@ -109,6 +110,10 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
expandAllGroups();
}
+ public void setSelectedGroup(GpxDisplayGroup selectedGroup) {
+ this.selectedGroup = selectedGroup;
+ }
+
public List getGroups() {
return adapter.groups;
}
@@ -178,6 +183,10 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
return displayHelper.getOriginalGroups(filterTypes);
}
+ private List getDisplayGroups() {
+ return selectedGroup != null ? Collections.singletonList(selectedGroup) : getOriginalGroups();
+ }
+
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
GpxDisplayItem item = adapter.getChild(groupPosition, childPosition);
@@ -250,7 +259,7 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
public void onPointsDeleted() {
selectedItems.clear();
selectedGroups.clear();
- adapter.synchronizeGroups(getOriginalGroups());
+ adapter.synchronizeGroups(getDisplayGroups());
}
public void filter(String text) {
@@ -622,16 +631,13 @@ public class TrackPointsCard extends BaseCard implements OnChildClickListener, O
} else {
Set