From a1719f14b21873e3346af833644eeb2fb5e319ba Mon Sep 17 00:00:00 2001 From: Eric House Date: Thu, 14 May 2020 10:46:15 -0700 Subject: [PATCH] prune quarantine data on launch I had hundreds of val==zero entries --- .../org/eehouse/android/xw4/Quarantine.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Quarantine.java b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Quarantine.java index 46a3fa039..43726258f 100644 --- a/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Quarantine.java +++ b/xwords4/android/app/src/main/java/org/eehouse/android/xw4/Quarantine.java @@ -23,6 +23,7 @@ package org.eehouse.android.xw4; import android.content.Context; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.io.Serializable; @@ -97,17 +98,29 @@ public class Quarantine { mCounts.put( rowid, 0 ); } + synchronized void removeZeros() + { + for ( Iterator iter = mCounts.values().iterator(); + iter.hasNext(); ) { + if ( 0 == iter.next() ) { + iter.remove(); + } + } + } + @Override synchronized public String toString() { - StringBuilder sb = new StringBuilder().append("["); + StringBuilder sb = new StringBuilder(); synchronized ( mCounts ) { + sb.append("{len:").append(mCounts.size()) + .append(", data:["); for ( long rowid : mCounts.keySet() ) { int count = mCounts.get(rowid); sb.append( String.format("{%d: %d}", rowid, count ) ); } } - return sb.append("]").toString(); + return sb.append("]}").toString(); } } @@ -131,6 +144,7 @@ public class Quarantine { data = new Data(); } else { Log.d( TAG, "loading existing: %s", data ); + data.removeZeros(); } sDataRef[0] = data; }