package androidx.constraintlayout.widget; import android.util.SparseIntArray; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; /* loaded from: classes.dex */ public class SharedValues { public static final int UNSET = -1; private SparseIntArray mValues = new SparseIntArray(); private HashMap>> mValuesListeners = new HashMap<>(); public interface SharedValuesListener { void onNewValue(int key, int newValue, int oldValue); } public void addListener(int key, SharedValuesListener listener) { HashSet> hashSet = this.mValuesListeners.get(Integer.valueOf(key)); if (hashSet == null) { hashSet = new HashSet<>(); this.mValuesListeners.put(Integer.valueOf(key), hashSet); } hashSet.add(new WeakReference<>(listener)); } public void removeListener(int key, SharedValuesListener listener) { HashSet> hashSet = this.mValuesListeners.get(Integer.valueOf(key)); if (hashSet == null) { return; } ArrayList arrayList = new ArrayList(); Iterator> it = hashSet.iterator(); while (it.hasNext()) { WeakReference next = it.next(); SharedValuesListener sharedValuesListener = next.get(); if (sharedValuesListener == null || sharedValuesListener == listener) { arrayList.add(next); } } hashSet.removeAll(arrayList); } public void removeListener(SharedValuesListener listener) { Iterator it = this.mValuesListeners.keySet().iterator(); while (it.hasNext()) { removeListener(it.next().intValue(), listener); } } public void clearListeners() { this.mValuesListeners.clear(); } public int getValue(int key) { return this.mValues.get(key, -1); } public void fireNewValue(int key, int value) { int i = this.mValues.get(key, -1); if (i == value) { return; } this.mValues.put(key, value); HashSet> hashSet = this.mValuesListeners.get(Integer.valueOf(key)); if (hashSet == null) { return; } Iterator> it = hashSet.iterator(); boolean z = false; while (it.hasNext()) { SharedValuesListener sharedValuesListener = it.next().get(); if (sharedValuesListener != null) { sharedValuesListener.onNewValue(key, value, i); } else { z = true; } } if (z) { ArrayList arrayList = new ArrayList(); Iterator> it2 = hashSet.iterator(); while (it2.hasNext()) { WeakReference next = it2.next(); if (next.get() == null) { arrayList.add(next); } } hashSet.removeAll(arrayList); } } }