|
|
@@ -88,9 +88,19 @@ public class SearchModel extends Model {
|
|
|
|
|
|
public void saveLatestTag(String tag) {
|
|
|
Log.i("APP# SearchModel | saveLatestTag", "|" + " save tag => " + tag);
|
|
|
- latestTagBeans.add(0, new TagBean(toTag(tag)));
|
|
|
+ tag = toTag(tag);
|
|
|
+ // 동일 태그가 있는지 확인, 중복 태그 삭제
|
|
|
+ int len = latestTagBeans.size();
|
|
|
+ for (int i = 0; i < len; ++i) {
|
|
|
+ if (tag.equals(latestTagBeans.get(i).getTagName())) {
|
|
|
+ latestTagBeans.remove(i);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ latestTagBeans.add(0, new TagBean(tag));
|
|
|
if (latestTagBeans.size() > 5) {
|
|
|
- removeLatestTag(5);
|
|
|
+ removeLatestTagInternal(5);
|
|
|
}
|
|
|
|
|
|
SearchLatestTagResultBean resultBean = new SearchLatestTagResultBean();
|
|
|
@@ -98,9 +108,17 @@ public class SearchModel extends Model {
|
|
|
SuperModel.getInstance().getPreferences().setTagLatestList(resultBean.toJson());
|
|
|
}
|
|
|
|
|
|
- public void removeLatestTag(int index) {
|
|
|
+ private void removeLatestTagInternal(int index) {
|
|
|
TagBean tagBean = latestTagBeans.remove(index);
|
|
|
- Log.i("APP# SearchModel | removeLatestTag", "|" + " latest removed: " + latestTagBeans.size() + ", tag: " + tagBean.getTagName());
|
|
|
+ Log.i("APP# SearchModel | removeLatestTagInternal", "|" + " latest removed: " + latestTagBeans.size() + ", tag: " + tagBean.getTagName());
|
|
|
+ }
|
|
|
+
|
|
|
+ public void removeLatestTag(int index) {
|
|
|
+ removeLatestTagInternal(index);
|
|
|
+
|
|
|
+ SearchLatestTagResultBean resultBean = new SearchLatestTagResultBean();
|
|
|
+ resultBean.setData(latestTagBeans);
|
|
|
+ SuperModel.getInstance().getPreferences().setTagLatestList(resultBean.toJson());
|
|
|
}
|
|
|
|
|
|
public void loadLatest() {
|
|
|
@@ -115,6 +133,7 @@ public class SearchModel extends Model {
|
|
|
else {
|
|
|
latestTagBeans = new ArrayList<>();
|
|
|
}
|
|
|
+
|
|
|
onResult(new Event.Builder(Event.SUCCESS).integer(Event.TAG_LATEST).build());
|
|
|
}
|
|
|
|