From 4a6017aacd61f8414e47eda12f35eda2e7a2cd42 Mon Sep 17 00:00:00 2001 From: Dennis Sheirer Date: Sat, 22 Jul 2023 04:38:40 -0400 Subject: [PATCH] #1603 Resolves issue with de-duplicating events to allow call duration values to display correctly and minimize the quantity of duplicate events. --- .../decode/event/ClearableHistoryModel.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/main/java/io/github/dsheirer/module/decode/event/ClearableHistoryModel.java b/src/main/java/io/github/dsheirer/module/decode/event/ClearableHistoryModel.java index c1a2af372..f62efcc1a 100644 --- a/src/main/java/io/github/dsheirer/module/decode/event/ClearableHistoryModel.java +++ b/src/main/java/io/github/dsheirer/module/decode/event/ClearableHistoryModel.java @@ -56,12 +56,16 @@ public T getItem(int index) */ public void add(T item) { - mItems.addFirst(item); - ClearableHistoryModel.this.fireTableRowsInserted(0, 0); - while(mItems.size() > mHistorySize) + if(!mItems.contains(item)) { - mItems.removeLast(); - super.fireTableRowsDeleted(mItems.size() - 1, mItems.size() - 1); + mItems.addFirst(item); + fireTableRowsInserted(0, 0); + + while(mItems.size() > mHistorySize) + { + mItems.removeLast(); + fireTableRowsDeleted(mItems.size() - 1, mItems.size() - 1); + } } } @@ -100,14 +104,6 @@ public int getHistorySize() return mHistorySize; } - /** - * Resets the history size to the default value. - */ - public void resetHistorySize() - { - setHistorySize(DEFAULT_HISTORY_SIZE); - } - /** * Sets the history size * @param historySize