From a879a085b4b3ec55de8259626526117f930aaf9a Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Tue, 13 Nov 2018 01:39:12 +0100 Subject: [PATCH] Fixed Warnings --- .../tools/ui/treeview/TreeViewAdapter.java | 68 +++++++++---------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/TreeViewAdapter.java b/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/TreeViewAdapter.java index 69e5862..ffe2a813 100644 --- a/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/TreeViewAdapter.java +++ b/app/src/main/java/de/sebse/fuplanner/tools/ui/treeview/TreeViewAdapter.java @@ -17,6 +17,7 @@ import androidx.recyclerview.widget.RecyclerView; /** * Created by tlh on 2016/10/1 :) */ +@SuppressWarnings("unused") public class TreeViewAdapter extends RecyclerView.Adapter { private static final String KEY_IS_EXPAND = "IS_EXPAND"; private final List viewBinders; @@ -42,7 +43,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter nodes) { - for (TreeNode node : nodes) { + for (TreeNode node : nodes) { displayNodes.add(node); if (!node.isLeaf() && node.isExpand()) findDisplayNodes(node.getChildList()); @@ -54,8 +55,9 @@ public class TreeViewAdapter extends RecyclerView.Adapter payloads) { - if (payloads != null && !payloads.isEmpty()) { + public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position, @NonNull List payloads) { + if (!payloads.isEmpty()) { Bundle b = (Bundle) payloads.get(0); for (String key : b.keySet()) { switch (key) { @@ -84,44 +86,42 @@ public class TreeViewAdapter extends RecyclerView.Adapter { + TreeNode selectedNode = displayNodes.get(holder.getLayoutPosition()); + // Prevent multi-click during the short interval. + try { + long lastClickTime = (long) holder.itemView.getTag(); + if (System.currentTimeMillis() - lastClickTime < 500) + return; + } catch (Exception e) { holder.itemView.setTag(System.currentTimeMillis()); + } + holder.itemView.setTag(System.currentTimeMillis()); - if (onTreeNodeListener != null && onTreeNodeListener.onClick(selectedNode, holder)) - return; - if (selectedNode.isLeaf()) - return; - // This TreeNode was locked to click. - if (selectedNode.isLocked()) return; - boolean isExpand = selectedNode.isExpand(); - int positionStart = displayNodes.indexOf(selectedNode) + 1; - if (!isExpand) { - notifyItemRangeInserted(positionStart, addChildNodes(selectedNode, positionStart)); - } else { - notifyItemRangeRemoved(positionStart, removeChildNodes(selectedNode, true)); - } + if (onTreeNodeListener != null && onTreeNodeListener.onClick(selectedNode, holder)) + return; + if (selectedNode.isLeaf()) + return; + // This TreeNode was locked to click. + if (selectedNode.isLocked()) return; + boolean isExpand = selectedNode.isExpand(); + int positionStart = displayNodes.indexOf(selectedNode) + 1; + if (!isExpand) { + notifyItemRangeInserted(positionStart, addChildNodes(selectedNode, positionStart)); + } else { + notifyItemRangeRemoved(positionStart, removeChildNodes(selectedNode, true)); } }); for (TreeViewBinder viewBinder : viewBinders) { if (viewBinder.getLayoutId() == displayNodes.get(position).getContent().getLayoutId()) + //noinspection unchecked viewBinder.bindView(holder, position, displayNodes.get(position)); } } - private int addChildNodes(TreeNode pNode, int startIndex) { + private int addChildNodes(TreeNode pNode, int startIndex) { List childList = pNode.getChildList(); int addChildCount = 0; for (TreeNode treeNode : childList) { @@ -139,7 +139,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter pNode, boolean shouldToggle) { if (pNode.isLeaf()) return 0; List childList = pNode.getChildList(); @@ -287,7 +287,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter pNode) { List temp = backupDisplayNodes(); if (pNode.isRoot()) { List roots = new ArrayList<>(); @@ -301,7 +301,7 @@ public class TreeViewAdapter extends RecyclerView.Adapter parent = pNode.getParent(); if (parent == null) return; List childList = parent.getChildList();