Skip to content
Snippets Groups Projects
Commit 88c2d2ff authored by maniac103's avatar maniac103 Committed by mueller-ma
Browse files

Don't scroll to selected list item if it didn't change. (#989)


Fixes #976

Signed-off-by: default avatarDanny Baumann <dannybaumann@web.de>
parent bef96cc9
No related branches found
No related tags found
No related merge requests found
......@@ -313,9 +313,9 @@ public class OpenHABWidgetAdapter extends RecyclerView.Adapter<OpenHABWidgetAdap
}
}
public void setSelectedPosition(int position) {
public boolean setSelectedPosition(int position) {
if (mSelectedPosition == position) {
return;
return false;
}
if (mSelectedPosition >= 0) {
notifyItemChanged(mSelectedPosition);
......@@ -324,6 +324,7 @@ public class OpenHABWidgetAdapter extends RecyclerView.Adapter<OpenHABWidgetAdap
if (position >= 0) {
notifyItemChanged(position);
}
return true;
}
@Override
......
......@@ -273,17 +273,19 @@ public class OpenHABWidgetListFragment extends Fragment
if (openHABWidgetAdapter == null) {
return;
}
openHABWidgetAdapter.setSelectedPosition(-1);
if (highlightedPageLink != null) {
for (int i = 0; i < openHABWidgetAdapter.getItemCount(); i++) {
OpenHABLinkedPage page = openHABWidgetAdapter.getItem(i).linkedPage();
if (page != null && highlightedPageLink.equals(page.link())) {
openHABWidgetAdapter.setSelectedPosition(i);
if (openHABWidgetAdapter.setSelectedPosition(i)) {
mLayoutManager.scrollToPosition(i);
break;
}
return;
}
}
}
// We didn't find a matching page link, so unselect everything
openHABWidgetAdapter.setSelectedPosition(-1);
}
public void update(String pageTitle, List<OpenHABWidget> widgets) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment