|
|
@@ -5,7 +5,6 @@ package kr.co.zumo.app.lifeplus.model.module;
|
|
|
|
|
|
import android.util.Log;
|
|
|
|
|
|
-import java.lang.ref.SoftReference;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
@@ -31,9 +30,9 @@ import kr.co.zumo.app.lifeplus.util.StringUtil;
|
|
|
*/
|
|
|
public class APISearchModule extends LifeplusAPIModule<SearchRequestBean, SearchResultBean> {
|
|
|
|
|
|
- private static SoftReference<List<SearchContentsBean>> searchContentsReference;
|
|
|
- private static SoftReference<List<TagBean>> tagReference;
|
|
|
- private static SoftReference<List<CategoryBean>> categoryReference;
|
|
|
+ private static List<SearchContentsBean> searchContents;
|
|
|
+ private static List<TagBean> tagBeans;
|
|
|
+ private static List<CategoryBean> categoryBeans;
|
|
|
private static String keyword;
|
|
|
private static String order;
|
|
|
|
|
|
@@ -44,15 +43,14 @@ public class APISearchModule extends LifeplusAPIModule<SearchRequestBean, Search
|
|
|
|
|
|
// 기본 데이터(필터/정렬 없이 전체 데이터, 동일 키워드, 동일 정렬)라면 캐쉬에서 리턴
|
|
|
// 키워드 동일
|
|
|
- if (null != searchContentsReference && null != tagReference && null != categoryReference
|
|
|
- && null != searchContentsReference.get() && null != tagReference.get() && null != categoryReference.get()
|
|
|
+ if (null != searchContents && null != tagBeans && null != categoryBeans
|
|
|
&& StringUtil.isEmpty(filters) && null != keyword && keyword.equals(requestBean.getKeyword())
|
|
|
// 정렬이 없거나, 이전과 정렬이 같다면
|
|
|
&& ((null == order && null == requestBean.getOrder()) || (null != order && order.equals(requestBean.getOrder())))) {
|
|
|
|
|
|
- List<TagBean> tags = new ArrayList<>(tagReference.get());
|
|
|
- List<CategoryBean> categories = new ArrayList<>(categoryReference.get());
|
|
|
- List<SearchContentsBean> searchContentsBeans = searchContentsReference.get();
|
|
|
+ List<TagBean> tags = new ArrayList<>(tagBeans);
|
|
|
+ List<CategoryBean> categories = new ArrayList<>(categoryBeans);
|
|
|
+ List<SearchContentsBean> searchContentsBeans = searchContents;
|
|
|
// 필터가 없을 때만 적용
|
|
|
List<SearchContentsBean> list = new ArrayList<>();
|
|
|
if (StringUtil.isEmpty(categoryNo)) {
|
|
|
@@ -97,15 +95,15 @@ public class APISearchModule extends LifeplusAPIModule<SearchRequestBean, Search
|
|
|
order = requestBean.getOrder();
|
|
|
|
|
|
if (null != searchResultBean.getData()) {
|
|
|
- searchContentsReference = new SoftReference<>(new ArrayList<>(searchResultBean.getData()));
|
|
|
+ searchContents = new ArrayList<>(searchResultBean.getData());
|
|
|
}
|
|
|
|
|
|
if (null != searchResultBean.getTagBeans()) {
|
|
|
- tagReference = new SoftReference<>(new ArrayList<>(searchResultBean.getTagBeans()));
|
|
|
+ tagBeans = new ArrayList<>(searchResultBean.getTagBeans());
|
|
|
}
|
|
|
|
|
|
if (null != searchResultBean.getCategoryBeans()) {
|
|
|
- categoryReference = new SoftReference<>(new ArrayList<>(searchResultBean.getCategoryBeans()));
|
|
|
+ categoryBeans = new ArrayList<>(searchResultBean.getCategoryBeans());
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
@@ -115,10 +113,10 @@ public class APISearchModule extends LifeplusAPIModule<SearchRequestBean, Search
|
|
|
* clear cache
|
|
|
*/
|
|
|
public static void clearCache() {
|
|
|
- Log.w("APP# APISearchModule | getAPI", "|" + " ================ cache clear ================");
|
|
|
- searchContentsReference = null;
|
|
|
- tagReference = null;
|
|
|
- categoryReference = null;
|
|
|
+ Log.w("APP# APISearchModule | clearCache", "|" + " ================ cache clear ================");
|
|
|
+ searchContents = null;
|
|
|
+ tagBeans = null;
|
|
|
+ categoryBeans = null;
|
|
|
keyword = null;
|
|
|
order = null;
|
|
|
}
|