package com.lechucksoftware.proxy.proxysettings; import android.content.Context; import com.lechucksoftware.proxy.proxysettings.db.ProxyEntity; import java.util.*; /** * Created by Marco on 15/09/13. */ public class CacheManager { private static final String TAG = CacheManager.class.getSimpleName(); private final Context context; private final Map<UUID, Object> cachedObjects; // private Map<Long, ProxyEntity> savedProxies; // private Object proxyLock = new Object(); public CacheManager(Context ctx) { context = ctx; cachedObjects = Collections.synchronizedMap(new HashMap<UUID, Object>()); // savedProxies = App.getDBManager().getAllProxiesWithTAGs(); } public List<ProxyEntity> getAllProxiesList() { List<ProxyEntity> proxies; Map<Long, ProxyEntity> savedProxies = App.getDBManager().getAllProxiesWithTAGs(); proxies = new ArrayList<ProxyEntity>(savedProxies.values()); return proxies; } // private Map<Long, ProxyEntity> getAllProxies() // { // synchronized (proxyLock) // { // if (savedProxies == null) // savedProxies = App.getDBManager().getAllProxiesWithTAGs(); // } // // return savedProxies; // } public void put(UUID key, Object obj) { if (cachedObjects.containsKey(key)) { release(key); } cachedObjects.put(key, obj); } public Object get(UUID key) { return cachedObjects.get(key); } public void release(UUID key) { cachedObjects.remove(key); } public void clear() { if (cachedObjects != null) { cachedObjects.clear(); } // synchronized (proxyLock) // { // if (savedProxies != null) // { // savedProxies.clear(); // savedProxies = null; // } // } } }