summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/java/android/util/LruCache.java20
-rw-r--r--core/tests/coretests/src/android/util/LruCacheTest.java13
2 files changed, 8 insertions, 25 deletions
diff --git a/core/java/android/util/LruCache.java b/core/java/android/util/LruCache.java
index a1501e6..834dac3 100644
--- a/core/java/android/util/LruCache.java
+++ b/core/java/android/util/LruCache.java
@@ -139,8 +139,7 @@ public class LruCache<K, V> {
* Caches {@code value} for {@code key}. The value is moved to the head of
* the queue.
*
- * @return the previous value mapped by {@code key}. Although that entry is
- * no longer cached, it has not been passed to {@link #entryEvicted}.
+ * @return the previous value mapped by {@code key}.
*/
public final V put(K key, V value) {
if (key == null || value == null) {
@@ -195,15 +194,14 @@ public class LruCache<K, V> {
evictionCount++;
}
- entryEvicted(key, value);
+ entryRemoved(true, key, value, null);
}
}
/**
* Removes the entry for {@code key} if it exists.
*
- * @return the previous value mapped by {@code key}. Although that entry is
- * no longer cached, it has not been passed to {@link #entryEvicted}.
+ * @return the previous value mapped by {@code key}.
*/
public final V remove(K key) {
if (key == null) {
@@ -226,16 +224,6 @@ public class LruCache<K, V> {
}
/**
- * Calls {@link #entryRemoved}.
- *
- * @deprecated replaced by entryRemoved
- */
- @Deprecated
- protected void entryEvicted(K key, V value) {
- entryRemoved(true, key, value, null);
- }
-
- /**
* Called for entries that have been evicted or removed. This method is
* invoked when a value is evicted to make space, removed by a call to
* {@link #remove}, or replaced by a call to {@link #put}. The default
@@ -291,7 +279,7 @@ public class LruCache<K, V> {
}
/**
- * Clear the cache, calling {@link #entryEvicted} on each removed entry.
+ * Clear the cache, calling {@link #entryRemoved} on each removed entry.
*/
public final void evictAll() {
trimToSize(-1); // -1 will evict 0-sized elements
diff --git a/core/tests/coretests/src/android/util/LruCacheTest.java b/core/tests/coretests/src/android/util/LruCacheTest.java
index 7e46e26..5a97158 100644
--- a/core/tests/coretests/src/android/util/LruCacheTest.java
+++ b/core/tests/coretests/src/android/util/LruCacheTest.java
@@ -183,20 +183,15 @@ public final class LruCacheTest extends TestCase {
* Replacing the value for a key doesn't cause an eviction but it does bring
* the replaced entry to the front of the queue.
*/
- public void testPutDoesNotCauseEviction() {
- final List<String> evictionLog = new ArrayList<String>();
- List<String> expectedEvictionLog = new ArrayList<String>();
- LruCache<String, String> cache = new LruCache<String, String>(3) {
- @Override protected void entryEvicted(String key, String value) {
- evictionLog.add(key + "=" + value);
- }
- };
+ public void testPutCauseEviction() {
+ List<String> log = new ArrayList<String>();
+ LruCache<String, String> cache = newRemovalLogCache(log);
cache.put("a", "A");
cache.put("b", "B");
cache.put("c", "C");
cache.put("b", "B2");
- assertEquals(expectedEvictionLog, evictionLog);
+ assertEquals(Arrays.asList("b=B>B2"), log);
assertSnapshot(cache, "a", "A", "c", "C", "b", "B2");
}