|
|
@ -1,5 +1,6 @@ |
|
|
|
package cc.niushuai.dididone.ui.setting.project; |
|
|
|
package cc.niushuai.dididone.ui.setting.project; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import android.app.Activity; |
|
|
|
import android.content.Intent; |
|
|
|
import android.content.Intent; |
|
|
|
import android.graphics.Color; |
|
|
|
import android.graphics.Color; |
|
|
|
import android.os.Bundle; |
|
|
|
import android.os.Bundle; |
|
|
@ -108,13 +109,15 @@ public class ProjectFragment extends Fragment implements InitAndSetListener { |
|
|
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
|
|
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
|
|
|
|
|
|
|
|
|
|
|
if (id == 0) { |
|
|
|
if (id == 0) { |
|
|
|
addProjectClick(); |
|
|
|
addProjectClick(BizGlobal.REQUEST_CODE_PROJECT_NEW, null); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 其他的被点击
|
|
|
|
// 其他的被点击
|
|
|
|
ProjectIcon item = gridViewAdapter4Project.getItem(position); |
|
|
|
ProjectIcon item = gridViewAdapter4Project.getItem(position); |
|
|
|
Toasts.shortShow(getContext(), item.getProjectName()); |
|
|
|
// Toasts.shortShow(getContext(), item.getProjectName());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
addProjectClick(BizGlobal.REQUEST_CODE_PROJECT_UPDATE, item); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
@ -153,7 +156,7 @@ public class ProjectFragment extends Fragment implements InitAndSetListener { |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private void confirmDeleteProjectRecord( ProjectIcon item) { |
|
|
|
private void confirmDeleteProjectRecord(ProjectIcon item) { |
|
|
|
// 再次弹出是否级联删除选项
|
|
|
|
// 再次弹出是否级联删除选项
|
|
|
|
AlertDialog projectItemAlertDialog = new AlertDialog.Builder(getContext()) |
|
|
|
AlertDialog projectItemAlertDialog = new AlertDialog.Builder(getContext()) |
|
|
|
.setTitle(StrUtil.format("是否要删除 [{}] 已打卡记录?", item.getProjectName())) |
|
|
|
.setTitle(StrUtil.format("是否要删除 [{}] 已打卡记录?", item.getProjectName())) |
|
|
@ -186,18 +189,37 @@ public class ProjectFragment extends Fragment implements InitAndSetListener { |
|
|
|
/** |
|
|
|
/** |
|
|
|
* 添加 被点击 |
|
|
|
* 添加 被点击 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private void addProjectClick() { |
|
|
|
private void addProjectClick(int requestCode, ProjectIcon clickItem) { |
|
|
|
// 打开添加新项页面
|
|
|
|
// 打开添加新项页面
|
|
|
|
startActivityForResult(new Intent(getContext(), NewProjectActivity.class), BizGlobal.REQUEST_CODE_GENERAL); |
|
|
|
Intent intent = new Intent(getContext(), NewProjectActivity.class); |
|
|
|
|
|
|
|
Bundle data = new Bundle(); |
|
|
|
|
|
|
|
if (null != clickItem) { |
|
|
|
|
|
|
|
// requestCode
|
|
|
|
|
|
|
|
intent.putExtra(BizGlobal.REQUEST_CODE, requestCode); |
|
|
|
|
|
|
|
// id
|
|
|
|
|
|
|
|
intent.putExtra(BizGlobal.PROJECT_ID, clickItem.getId()); |
|
|
|
|
|
|
|
// 名称
|
|
|
|
|
|
|
|
intent.putExtra(BizGlobal.PROJECT_NAME, clickItem.getProjectName()); |
|
|
|
|
|
|
|
// 图标
|
|
|
|
|
|
|
|
intent.putExtra(BizGlobal.PROJECT_ICON, clickItem.getIcon()); |
|
|
|
|
|
|
|
// 颜色
|
|
|
|
|
|
|
|
intent.putExtra(BizGlobal.PROJECT_ICON_COLOR, clickItem.getColor()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
startActivityForResult(intent, requestCode, data); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { |
|
|
|
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { |
|
|
|
|
|
|
|
|
|
|
|
if (null == data) { |
|
|
|
if (resultCode != Activity.RESULT_OK || null == data) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean update = requestCode == BizGlobal.REQUEST_CODE_PROJECT_UPDATE ? true : false; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// id
|
|
|
|
|
|
|
|
long projectId = data.getLongExtra(BizGlobal.PROJECT_ID, -1L); |
|
|
|
|
|
|
|
XLog.d(BizGlobal.PROJECT_ID + ": {}", projectId); |
|
|
|
// 名称
|
|
|
|
// 名称
|
|
|
|
String projectName = data.getStringExtra(BizGlobal.PROJECT_NAME); |
|
|
|
String projectName = data.getStringExtra(BizGlobal.PROJECT_NAME); |
|
|
|
XLog.d(BizGlobal.PROJECT_NAME + ": {}", projectName); |
|
|
|
XLog.d(BizGlobal.PROJECT_NAME + ": {}", projectName); |
|
|
@ -212,27 +234,45 @@ public class ProjectFragment extends Fragment implements InitAndSetListener { |
|
|
|
project.setName(projectName); |
|
|
|
project.setName(projectName); |
|
|
|
project.setIcon(projectIcon); |
|
|
|
project.setIcon(projectIcon); |
|
|
|
project.setIconColor(projectIconColor); |
|
|
|
project.setIconColor(projectIconColor); |
|
|
|
Completable completable = DBManager.INSTANCE.projectDao().insertAll(project); |
|
|
|
|
|
|
|
completable.subscribeOn(Schedulers.io()) |
|
|
|
|
|
|
|
.observeOn(AndroidSchedulers.mainThread()) |
|
|
|
|
|
|
|
.subscribe(new CompletableObserver() { |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onSubscribe(Disposable d) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onComplete() { |
|
|
|
|
|
|
|
Log.i("SettingsFragment", "新增打卡项[" + project.getName() + "]成功"); |
|
|
|
|
|
|
|
Toasts.shortShow(getActivity(), "新增打卡项[{}]成功", project.getName()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onError(Throwable e) { |
|
|
|
|
|
|
|
Log.e("SettingsFragment", "新增打卡项[" + project.getName() + "]失败", e); |
|
|
|
|
|
|
|
Toasts.shortShow(getActivity(), "新增打卡项[{}]失败, {}", project.getName(), e.getMessage()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 是否要添加id选项
|
|
|
|
|
|
|
|
if (update) { |
|
|
|
|
|
|
|
project.setId(projectId); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XLog.d("update ? {}", update); |
|
|
|
|
|
|
|
if (update) { |
|
|
|
|
|
|
|
// 更新
|
|
|
|
|
|
|
|
int rows = DBManager.INSTANCE.projectDao().update(project); |
|
|
|
|
|
|
|
Toasts.shortShow(getContext(), "rows = " + rows); |
|
|
|
|
|
|
|
XLog.d("update project rows == " + rows); |
|
|
|
|
|
|
|
if (rows == 1) { |
|
|
|
|
|
|
|
rows = DBManager.INSTANCE.recordDao().updateName(project.getName(), project.getId()); |
|
|
|
|
|
|
|
XLog.d("update record rows == " + rows); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
// 新增
|
|
|
|
|
|
|
|
Completable completable = DBManager.INSTANCE.projectDao().insertAll(project); |
|
|
|
|
|
|
|
completable.subscribeOn(Schedulers.io()) |
|
|
|
|
|
|
|
.observeOn(AndroidSchedulers.mainThread()) |
|
|
|
|
|
|
|
.subscribe(new CompletableObserver() { |
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onSubscribe(Disposable d) { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onComplete() { |
|
|
|
|
|
|
|
Log.i("SettingsFragment", "新增打卡项[" + project.getName() + "]成功"); |
|
|
|
|
|
|
|
Toasts.shortShow(getActivity(), "新增打卡项[{}]成功", project.getName()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void onError(Throwable e) { |
|
|
|
|
|
|
|
Log.e("SettingsFragment", "新增打卡项[" + project.getName() + "]失败", e); |
|
|
|
|
|
|
|
Toasts.shortShow(getActivity(), "新增打卡项[{}]失败, {}", project.getName(), e.getMessage()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|