1d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru// Copyright 2011 Google Inc. All Rights Reserved. 2d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 3d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Querupackage com.android.volley.utils; 4d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 5d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport com.android.volley.Cache; 6d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 7d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queruimport java.util.Random; 8d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 9d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Querupublic class CacheTestUtils { 10d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 11d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru /** 12d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * Makes a random cache entry. 13d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * @param data Data to use, or null to use random data 14d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * @param isExpired Whether the TTLs should be set such that this entry is expired 15d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * @param needsRefresh Whether the TTLs should be set such that this entry needs refresh 16d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru */ 17d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru public static Cache.Entry makeRandomCacheEntry( 18d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru byte[] data, boolean isExpired, boolean needsRefresh) { 19d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru Random random = new Random(); 20d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru Cache.Entry entry = new Cache.Entry(); 21d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru if (data != null) { 22d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru entry.data = data; 23d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru } else { 24d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru entry.data = new byte[random.nextInt(1024)]; 25d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru } 26d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru entry.etag = String.valueOf(random.nextLong()); 27d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru entry.serverDate = random.nextLong(); 28d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru entry.ttl = isExpired ? 0 : Long.MAX_VALUE; 29d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru entry.softTtl = needsRefresh ? 0 : Long.MAX_VALUE; 30d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru return entry; 31d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru } 32d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru 33d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru /** 34d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * Like {@link #makeRandomCacheEntry(byte[], boolean, boolean)} but 35d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru * defaults to an unexpired entry. 36d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru */ 37d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru public static Cache.Entry makeRandomCacheEntry(byte[] data) { 38d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru return makeRandomCacheEntry(data, false, false); 39d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru } 40d56b88ae161057e848e7410d1b9ce5b0b8c427fcJean-Baptiste Queru} 41