8181import java.util.ArrayList;
8282import java.util.Arrays;
8383import java.util.Locale;
84- import java.util.WeakHashMap;
8584import java.util.concurrent.CopyOnWriteArrayList;
8685
8786/**
@@ -1497,12 +1496,7 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
14971496 /**
14981497 * Map used to store views' tags.
14991498 */
1500- private static WeakHashMap<View, SparseArray<Object>> sTags;
1501-
1502- /**
1503- * Lock used to access sTags.
1504- */
1505- private static final Object sTagsLock = new Object();
1499+ private SparseArray<Object> mKeyedTags;
15061500
15071501 /**
15081502 * The next available accessiiblity id.
@@ -12236,14 +12230,7 @@ public void setTag(final Object tag) {
1223612230 * @see #getTag()
1223712231 */
1223812232 public Object getTag(int key) {
12239- SparseArray<Object> tags = null;
12240- synchronized (sTagsLock) {
12241- if (sTags != null) {
12242- tags = sTags.get(this);
12243- }
12244- }
12245-
12246- if (tags != null) return tags.get(key);
12233+ if (mKeyedTags != null) return mKeyedTags.get(key);
1224712234 return null;
1224812235 }
1224912236
@@ -12276,7 +12263,7 @@ public void setTag(int key, final Object tag) {
1227612263 + "resource id.");
1227712264 }
1227812265
12279- setTagInternal (this, key, tag);
12266+ setKeyedTag (this, key, tag);
1228012267 }
1228112268
1228212269 /**
@@ -12291,27 +12278,15 @@ public void setTagInternal(int key, Object tag) {
1229112278 + "resource id.");
1229212279 }
1229312280
12294- setTagInternal (this, key, tag);
12281+ setKeyedTag (this, key, tag);
1229512282 }
1229612283
12297- private static void setTagInternal(View view, int key, Object tag) {
12298- SparseArray<Object> tags = null;
12299- synchronized (sTagsLock) {
12300- if (sTags == null) {
12301- sTags = new WeakHashMap<View, SparseArray<Object>>();
12302- } else {
12303- tags = sTags.get(view);
12304- }
12305- }
12306-
12307- if (tags == null) {
12308- tags = new SparseArray<Object>(2);
12309- synchronized (sTagsLock) {
12310- sTags.put(view, tags);
12311- }
12284+ private void setKeyedTag(View view, int key, Object tag) {
12285+ if (mKeyedTags == null) {
12286+ mKeyedTags = new SparseArray<Object>();
1231212287 }
1231312288
12314- tags .put(key, tag);
12289+ mKeyedTags .put(key, tag);
1231512290 }
1231612291
1231712292 /**
0 commit comments