Browse Source

fix: 🔥 bug fix

master
niushuai233 1 year ago
parent
commit
43fff4794f
  1. 10
      app/src/main/java/cc/niushuai/dididone/biz/BizGlobal.java
  2. 2
      app/src/main/java/cc/niushuai/dididone/ui/calendar/CalendarFragment.java
  3. 16
      app/src/main/java/cc/niushuai/dididone/ui/component/ProjectPopupView.java
  4. 2
      app/src/main/java/cc/niushuai/dididone/ui/setting/project/ProjectFragment.java

10
app/src/main/java/cc/niushuai/dididone/biz/BizGlobal.java

@ -5,6 +5,8 @@ import org.json.JSONArray;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import cc.niushuai.dididone.biz.entity.Project; import cc.niushuai.dididone.biz.entity.Project;
import cc.niushuai.dididone.biz.roomx.DBManager; import cc.niushuai.dididone.biz.roomx.DBManager;
@ -65,4 +67,12 @@ public class BizGlobal {
XLog.d("build project cache size: {}", projectList.size()); XLog.d("build project cache size: {}", projectList.size());
}); });
} }
public static Map<Long, Project> getAllProjectMap() {
return CACHE_PROJECT;
}
public static Map<Long, Project> getAvailableProjectMap() {
return CACHE_PROJECT.values().stream().filter(item -> item.getDeleted().equals(0)).collect(Collectors.toMap(Project::getId, Function.identity()));
}
} }

2
app/src/main/java/cc/niushuai/dididone/ui/calendar/CalendarFragment.java

@ -256,7 +256,7 @@ public class CalendarFragment extends Fragment {
XLog.d("DataListOnNext 查询到数据: {}", recordList.size()); XLog.d("DataListOnNext 查询到数据: {}", recordList.size());
for (Record record : recordList) { for (Record record : recordList) {
Project project = BizGlobal.CACHE_PROJECT.get(record.getProjectId()); Project project = BizGlobal.getAllProjectMap().get(record.getProjectId());
if (null == project) { if (null == project) {
Toasts.longShow(getContext(), "ProjectId: {}不存在, 可能存在BUG", String.valueOf(record.getProjectId())); Toasts.longShow(getContext(), "ProjectId: {}不存在, 可能存在BUG", String.valueOf(record.getProjectId()));
return; return;

16
app/src/main/java/cc/niushuai/dididone/ui/component/ProjectPopupView.java

@ -57,7 +57,10 @@ public class ProjectPopupView extends BottomPopupView {
super.onCreate(); super.onCreate();
recyclerView = findViewById(R.id.ppv_recyclerView); recyclerView = findViewById(R.id.ppv_recyclerView);
data = getProjectList(); // 构建data
data = CollUtil.list(false, BizGlobal.getAvailableProjectMap().values());
data.sort((e1, e2) -> e2.getCreateDate().compareTo(e1.getCreateDate()));
int projectCount = data.size(); int projectCount = data.size();
if (data.isEmpty()) { if (data.isEmpty()) {
@ -110,17 +113,6 @@ public class ProjectPopupView extends BottomPopupView {
recyclerView.setAdapter(commonAdapter); recyclerView.setAdapter(commonAdapter);
} }
private void newRecord(Project project) {
}
private List<Project> getProjectList() {
List<Project> list = CollUtil.list(false, BizGlobal.CACHE_PROJECT.values());
list.sort((e1, e2) -> e2.getCreateDate().compareTo(e1.getCreateDate()));
return list;
}
@Override @Override
protected void onShow() { protected void onShow() {
super.onShow(); super.onShow();

2
app/src/main/java/cc/niushuai/dididone/ui/setting/project/ProjectFragment.java

@ -158,6 +158,8 @@ public class ProjectFragment extends Fragment implements InitAndSetListener {
private void deleteProject(ProjectIcon item) { private void deleteProject(ProjectIcon item) {
// 删除 // 删除
DBManager.INSTANCE.projectDao().deleteById(item.getId()); DBManager.INSTANCE.projectDao().deleteById(item.getId());
// remove by id
BizGlobal.CACHE_PROJECT.get(item.getId()).setDeleted(1);
XLog.d("删除项{}, id: {}", item.getProjectName(), item.getId()); XLog.d("删除项{}, id: {}", item.getProjectName(), item.getId());
} }

Loading…
Cancel
Save