|
@@ -23,6 +23,7 @@ import com.common.preferences.PreferenceUtils;
|
|
|
import com.common.system.DisplayUtil;
|
|
import com.common.system.DisplayUtil;
|
|
|
import com.core.app.MyApplication;
|
|
import com.core.app.MyApplication;
|
|
|
import com.core.model.SelectBean;
|
|
import com.core.model.SelectBean;
|
|
|
|
|
+import com.core.utils.CommonUtil;
|
|
|
import com.core.utils.time.wheel.DateTimePicker;
|
|
import com.core.utils.time.wheel.DateTimePicker;
|
|
|
import com.core.widget.view.Activity.SelectActivity;
|
|
import com.core.widget.view.Activity.SelectActivity;
|
|
|
import com.core.widget.view.SwitchView;
|
|
import com.core.widget.view.SwitchView;
|
|
@@ -46,7 +47,7 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
private final int DELETE = 0x12;
|
|
private final int DELETE = 0x12;
|
|
|
private final int UPDATE = 0x13;
|
|
private final int UPDATE = 0x13;
|
|
|
|
|
|
|
|
- private final String[] warns = {"不提醒", "开始时", "提醒前5分钟", "提醒前15分钟", "提醒前30分钟", "提醒前1小时", "提醒前一天"};
|
|
|
|
|
|
|
+ private final String[] warns = {"不提醒", "开始时", "提前5分钟", "提前15分钟", "提前30分钟", "提前1小时", "提前一天"};
|
|
|
private final String[] warns2 = {"不提醒", "当天8点", "当天9点", "提前一天8点", "提前一天9点"};
|
|
private final String[] warns2 = {"不提醒", "当天8点", "当天9点", "提前一天8点", "提前一天9点"};
|
|
|
private final String[] types = {"工作", "学习", "娱乐", "运动", "约会", "纪念日"};
|
|
private final String[] types = {"工作", "学习", "娱乐", "运动", "约会", "纪念日"};
|
|
|
private final String[] repeats = {"不重复", "每天重复", "每周重复", "每月重复"};
|
|
private final String[] repeats = {"不重复", "每天重复", "每周重复", "每月重复"};
|
|
@@ -77,18 +78,20 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
initSchedule();
|
|
initSchedule();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ setTitle(isEnable ? R.string.create_scheduler : R.string.scheduler_detail);
|
|
|
findById();
|
|
findById();
|
|
|
initView();
|
|
initView();
|
|
|
updateEnable(isEnable);
|
|
updateEnable(isEnable);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void initSchedule() {
|
|
private void initSchedule() {
|
|
|
|
|
+ String warnTime = PreferenceUtils.getString(PreferenceUtils.Constants.DEF_WARN_TIME);
|
|
|
mSchedule = new Schedule();
|
|
mSchedule = new Schedule();
|
|
|
mSchedule.setStartTime(System.currentTimeMillis() + 1000 * 5 * 60);
|
|
mSchedule.setStartTime(System.currentTimeMillis() + 1000 * 5 * 60);
|
|
|
mSchedule.setEndTime(System.currentTimeMillis() + 1000 * 10 * 60);
|
|
mSchedule.setEndTime(System.currentTimeMillis() + 1000 * 10 * 60);
|
|
|
mSchedule.setTag(types[0]);
|
|
mSchedule.setTag(types[0]);
|
|
|
- mSchedule.setRepeat(PreferenceUtils.getString(ct,PreferenceUtils.Constants.DEF_REPEAT_TIME,repeats[0]));
|
|
|
|
|
- mSchedule.setWarnTime(0);
|
|
|
|
|
|
|
+ mSchedule.setRepeat(PreferenceUtils.getString(ct, PreferenceUtils.Constants.DEF_REPEAT_TIME, repeats[0]));
|
|
|
|
|
+ mSchedule.setWarnTime(getWarnForText(warnTime,0));
|
|
|
mSchedule.setType(getString(R.string.app_name));
|
|
mSchedule.setType(getString(R.string.app_name));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -170,6 +173,7 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
menu.findItem(R.id.edit).setVisible(false);
|
|
menu.findItem(R.id.edit).setVisible(false);
|
|
|
menu.findItem(R.id.complete).setVisible(true);
|
|
menu.findItem(R.id.complete).setVisible(true);
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ setTitle(R.string.scheduler_detail);
|
|
|
menu.findItem(R.id.complete).setVisible(false);
|
|
menu.findItem(R.id.complete).setVisible(false);
|
|
|
menu.findItem(R.id.edit).setVisible(true);
|
|
menu.findItem(R.id.edit).setVisible(true);
|
|
|
}
|
|
}
|
|
@@ -233,10 +237,17 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
}
|
|
}
|
|
|
contentEd.setEnabled(isEnable);
|
|
contentEd.setEnabled(isEnable);
|
|
|
contentEd.setFocusable(isEnable);
|
|
contentEd.setFocusable(isEnable);
|
|
|
|
|
+
|
|
|
allDaySv.setEnabled(isEnable);
|
|
allDaySv.setEnabled(isEnable);
|
|
|
allDaySv.setClickable(isEnable);
|
|
allDaySv.setClickable(isEnable);
|
|
|
allDaySv.setFocusable(isEnable);
|
|
allDaySv.setFocusable(isEnable);
|
|
|
allDaySv.setOnCheckedChangeListener(isEnable ? mOnCheckedChangeListener : null);
|
|
allDaySv.setOnCheckedChangeListener(isEnable ? mOnCheckedChangeListener : null);
|
|
|
|
|
+ if (isEnable) {
|
|
|
|
|
+ contentEd.setFocusableInTouchMode(true);
|
|
|
|
|
+ contentEd.requestFocus();
|
|
|
|
|
+ contentEd.setSelection(contentEd.getText().length());
|
|
|
|
|
+ CommonUtil.openKeybord(contentEd, this);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private SwitchView.OnCheckedChangeListener mOnCheckedChangeListener = new SwitchView.OnCheckedChangeListener() {
|
|
private SwitchView.OnCheckedChangeListener mOnCheckedChangeListener = new SwitchView.OnCheckedChangeListener() {
|
|
@@ -259,7 +270,7 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
invalidateOptionsMenu();
|
|
invalidateOptionsMenu();
|
|
|
} else if (view.getId() == R.id.deleteTv) {
|
|
} else if (view.getId() == R.id.deleteTv) {
|
|
|
closePopupWindow();
|
|
closePopupWindow();
|
|
|
- deleteSchedule();
|
|
|
|
|
|
|
+ deleteFormSc();
|
|
|
} else if (view.getId() == R.id.cancel_tv) {
|
|
} else if (view.getId() == R.id.cancel_tv) {
|
|
|
closePopupWindow();
|
|
closePopupWindow();
|
|
|
} else if (view == startTimeTv) {
|
|
} else if (view == startTimeTv) {
|
|
@@ -375,6 +386,11 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void submit() {
|
|
private void submit() {
|
|
|
|
|
+ if (mSchedule.getStartTime() >= mSchedule.getEndTime()) {
|
|
|
|
|
+ showToast("结束时间必须大于开始时间!!");
|
|
|
|
|
+ submiting = false;
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
showProgress();
|
|
showProgress();
|
|
|
String url = isUpdate ? "schedule/updateSchedule" : "schedule/saveSchedule";
|
|
String url = isUpdate ? "schedule/updateSchedule" : "schedule/saveSchedule";
|
|
|
mSchedule.setRemarks(contentEd.getText().toString());
|
|
mSchedule.setRemarks(contentEd.getText().toString());
|
|
@@ -400,19 +416,7 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
warnRealTime = DateFormatUtil.str2Long(DateFormatUtil.long2Str(mSchedule.getStartTime(), DateFormatUtil.YMD) + " 09:00:00", DateFormatUtil.YMD_HMS) - minth * 24 * 60;
|
|
warnRealTime = DateFormatUtil.str2Long(DateFormatUtil.long2Str(mSchedule.getStartTime(), DateFormatUtil.YMD) + " 09:00:00", DateFormatUtil.YMD_HMS) - minth * 24 * 60;
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- if (warnStr.equals(warns[1])) {
|
|
|
|
|
- warnTime = 0;
|
|
|
|
|
- } else if (warnStr.equals(warns[2])) {
|
|
|
|
|
- warnTime = 5;
|
|
|
|
|
- } else if (warnStr.equals(warns[3])) {
|
|
|
|
|
- warnTime = 15;
|
|
|
|
|
- } else if (warnStr.equals(warns[4])) {
|
|
|
|
|
- warnTime = 30;
|
|
|
|
|
- } else if (warnStr.equals(warns[5])) {
|
|
|
|
|
- warnTime = 60;
|
|
|
|
|
- } else if (warnStr.equals(warns[6])) {
|
|
|
|
|
- warnTime = 60 * 24;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ warnTime = getWarnForText(warnStr,warnTime);
|
|
|
warnRealTime = mSchedule.getStartTime() - warnTime * minth;
|
|
warnRealTime = mSchedule.getStartTime() - warnTime * minth;
|
|
|
}
|
|
}
|
|
|
mSchedule.setWarnRealTime(warnRealTime);
|
|
mSchedule.setWarnRealTime(warnRealTime);
|
|
@@ -439,8 +443,24 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
mBuilder.addParams("scheduleId", mSchedule.getId());
|
|
mBuilder.addParams("scheduleId", mSchedule.getId());
|
|
|
}
|
|
}
|
|
|
requestHttp(mBuilder, mOnSmartHttpListener);
|
|
requestHttp(mBuilder, mOnSmartHttpListener);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ private int getWarnForText(String text,int def) {
|
|
|
|
|
+ int warnTime = def;
|
|
|
|
|
+ if (text.equals(warns[1])) {
|
|
|
|
|
+ warnTime = 0;
|
|
|
|
|
+ } else if (text.equals(warns[2])) {
|
|
|
|
|
+ warnTime = 5;
|
|
|
|
|
+ } else if (text.equals(warns[3])) {
|
|
|
|
|
+ warnTime = 15;
|
|
|
|
|
+ } else if (text.equals(warns[4])) {
|
|
|
|
|
+ warnTime = 30;
|
|
|
|
|
+ } else if (text.equals(warns[5])) {
|
|
|
|
|
+ warnTime = 60;
|
|
|
|
|
+ } else if (text.equals(warns[6])) {
|
|
|
|
|
+ warnTime = 60 * 24;
|
|
|
|
|
+ }
|
|
|
|
|
+ return warnTime;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void deleteSchedule() {
|
|
private void deleteSchedule() {
|
|
@@ -488,7 +508,6 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
case DELETE:
|
|
case DELETE:
|
|
|
if (JSONUtil.getBoolean(object, "success")) {
|
|
if (JSONUtil.getBoolean(object, "success")) {
|
|
|
Toast.makeText(ct, "删除成功!!", Toast.LENGTH_LONG).show();
|
|
Toast.makeText(ct, "删除成功!!", Toast.LENGTH_LONG).show();
|
|
|
- deleteFormSystem();
|
|
|
|
|
int id = JSONUtil.getInt(object, "data");
|
|
int id = JSONUtil.getInt(object, "data");
|
|
|
mSchedule.setId(id);
|
|
mSchedule.setId(id);
|
|
|
deleteFormSystem();
|
|
deleteFormSystem();
|
|
@@ -508,19 +527,54 @@ public class SchedulerCreateActivity extends BaseNetActivity {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
private void deleteFormSystem() {
|
|
private void deleteFormSystem() {
|
|
|
|
|
+ requestPermission(Manifest.permission.WRITE_CALENDAR, new Runnable() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void run() {
|
|
|
|
|
+ boolean has = ScheduleUtils.hasSystemCalendar(ct, mSchedule.getId());
|
|
|
|
|
+ if (has) {
|
|
|
|
|
+ new VeriftyDialog.Builder(ct)
|
|
|
|
|
+ .setTitle(getString(R.string.app_name))
|
|
|
|
|
+ .setCanceledOnTouchOutside(false)
|
|
|
|
|
+ .setShowCancel(true)
|
|
|
|
|
+ .setContent("删除成功,是否同步删除系统日程!!")
|
|
|
|
|
+ .build(new VeriftyDialog.OnDialogClickListener() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void result(boolean clickSure) {
|
|
|
|
|
+ if (clickSure) {
|
|
|
|
|
+ deleteFormSystem(mSchedule);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ setResult(0x11);
|
|
|
|
|
+ onBackPressed();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ setResult(0x11);
|
|
|
|
|
+ onBackPressed();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }, new Runnable() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void run() {
|
|
|
|
|
+ showToast(R.string.not_system_permission);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private void deleteFormSc() {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
new VeriftyDialog.Builder(ct)
|
|
new VeriftyDialog.Builder(ct)
|
|
|
.setTitle(getString(R.string.app_name))
|
|
.setTitle(getString(R.string.app_name))
|
|
|
.setCanceledOnTouchOutside(false)
|
|
.setCanceledOnTouchOutside(false)
|
|
|
.setShowCancel(true)
|
|
.setShowCancel(true)
|
|
|
- .setContent("删除成功,是否同步删除系统日程!!")
|
|
|
|
|
|
|
+ .setContent("是否确定删除该日程?")
|
|
|
.build(new VeriftyDialog.OnDialogClickListener() {
|
|
.build(new VeriftyDialog.OnDialogClickListener() {
|
|
|
@Override
|
|
@Override
|
|
|
public void result(boolean clickSure) {
|
|
public void result(boolean clickSure) {
|
|
|
if (clickSure) {
|
|
if (clickSure) {
|
|
|
- deleteFormSystem(mSchedule);
|
|
|
|
|
- } else {
|
|
|
|
|
- setResult(0x11);
|
|
|
|
|
- onBackPressed();
|
|
|
|
|
|
|
+ deleteSchedule();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|