|
@@ -0,0 +1,470 @@
|
|
|
+package com.bgy.autosale.ui.operator;
|
|
|
+
|
|
|
+import android.os.Bundle;
|
|
|
+import android.support.annotation.Nullable;
|
|
|
+import android.support.v7.widget.LinearLayoutManager;
|
|
|
+import android.support.v7.widget.RecyclerView;
|
|
|
+import android.text.format.DateFormat;
|
|
|
+import android.util.Log;
|
|
|
+import android.view.View;
|
|
|
+import android.widget.RadioButton;
|
|
|
+import android.widget.TextView;
|
|
|
+
|
|
|
+import com.bgy.autosale.R;
|
|
|
+import com.bgy.autosale.databinding.ActivityLocalalarmclockBinding;
|
|
|
+import com.bgy.autosale.payutil.dialog.AlarmClockDialog;
|
|
|
+import com.bgy.autosale.ui.adapters.AlarmClockAdapter;
|
|
|
+import com.bgy.autosale.ui.base.BaseScanGunActivity;
|
|
|
+import com.example.spunsugar.system.model.bean.AlarmClockBean;
|
|
|
+import com.hboxs.base_library.base.BaseApplication;
|
|
|
+import com.hboxs.base_library.beans.enums.AlarmClockTypeEnum;
|
|
|
+import com.hboxs.base_library.beans.enums.WeekEnum;
|
|
|
+import com.hboxs.base_library.callback.DialogClickListener;
|
|
|
+import com.hboxs.base_library.constant.Global;
|
|
|
+import com.hboxs.base_library.constant.Name;
|
|
|
+import com.hboxs.base_library.dialog.NormalDialog;
|
|
|
+import com.hboxs.base_library.util.AlarmManagerUtil;
|
|
|
+import com.hboxs.base_library.util.LogUtils;
|
|
|
+import com.hboxs.base_library.util.SharedPreferencesUtils;
|
|
|
+import com.hboxs.base_library.util.ToastUtil;
|
|
|
+import com.hboxs.base_library.util.UiUtil;
|
|
|
+import com.orhanobut.hawk.Hawk;
|
|
|
+
|
|
|
+import java.text.ParseException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Timer;
|
|
|
+import java.util.TimerTask;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 本地闹钟
|
|
|
+ */
|
|
|
+public class LocalAlarmClockActivity extends BaseScanGunActivity implements View.OnClickListener{
|
|
|
+ private static final String TAG = "LocalAlarmClockActivity";
|
|
|
+ private ActivityLocalalarmclockBinding binding;
|
|
|
+ private ArrayList<AlarmClockBean> alarmClockBeans;
|
|
|
+ private AlarmClockAdapter alarmClockAdapter;
|
|
|
+ private AlarmClockDialog clockDialog;
|
|
|
+ private int currentPosition = 0;
|
|
|
+ private Boolean alarmclockType;
|
|
|
+ private NormalDialog saveDialog;
|
|
|
+
|
|
|
+ private RadioButton rbLocalAlarmclock,rbRemoteAlarmclock;
|
|
|
+ private RecyclerView rvAlarmClock;
|
|
|
+ private TextView tvAlarmClockTips,tvCurrentDate;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.activity_localalarmclock);
|
|
|
+ binding = ActivityLocalalarmclockBinding.inflate(getLayoutInflater());
|
|
|
+ findViewById(R.id.setting_back).setOnClickListener(this);
|
|
|
+ findViewById(R.id.btn_clock_add).setOnClickListener(this);
|
|
|
+ tvCurrentDate=findViewById(R.id.tv_current_date);
|
|
|
+ rbLocalAlarmclock= findViewById(R.id.rb_local_alarmclock);
|
|
|
+// rbLocalAlarmclock.setOnClickListener(this);
|
|
|
+
|
|
|
+ rbRemoteAlarmclock=findViewById(R.id.rb_remote_alarmclock);
|
|
|
+ rbRemoteAlarmclock.setOnClickListener(this);
|
|
|
+ rbRemoteAlarmclock.setVisibility(View.GONE);
|
|
|
+ tvAlarmClockTips=findViewById(R.id.tv_alarm_clock_tips);
|
|
|
+ tvAlarmClockTips.setVisibility(View.GONE);
|
|
|
+
|
|
|
+
|
|
|
+ rvAlarmClock=findViewById(R.id.rv_alarm_clock);
|
|
|
+ initView();
|
|
|
+ initData();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View view) {
|
|
|
+ int id = view.getId();
|
|
|
+ if (id == R.id.setting_back) {
|
|
|
+ finish();
|
|
|
+ } else if (id == R.id.rb_local_alarmclock) {
|
|
|
+ isEdited(R.id.rb_local_alarmclock);
|
|
|
+ } else if (id == R.id.rb_remote_alarmclock) {
|
|
|
+ isEdited(R.id.rb_remote_alarmclock);
|
|
|
+ } else if (id==R.id.btn_clock_add) {
|
|
|
+ Log.d(TAG, "onClick: btnClockAdd");
|
|
|
+ if (alarmClockBeans.size()>9) {
|
|
|
+ ToastUtil.showToast("您好,闹钟个数只限9个");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Log.d(TAG, "onClick: btnClockAdd1");
|
|
|
+ showCheckDialog(4);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void initView() {
|
|
|
+// binding.btnClockAdd.setOnClickListener(new View.OnClickListener() {
|
|
|
+// @Override
|
|
|
+// public void onClick(View view) {
|
|
|
+// Log.d(TAG, "onClick: btnClockAdd");
|
|
|
+// if (alarmClockBeans.size()>9) {
|
|
|
+// ToastUtil.showToast("您好,闹钟个数只限9个");
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// Log.d(TAG, "onClick: btnClockAdd1");
|
|
|
+// showCheckDialog(1);
|
|
|
+// }
|
|
|
+// });
|
|
|
+// setAlarmClock(); 进来就重新设置一次闹钟,实际没有必要。
|
|
|
+ alarmclockType = Hawk.get(Name.ALARMCLOCK_TYPE, true);
|
|
|
+ if (alarmclockType) {
|
|
|
+ rbLocalAlarmclock.setChecked(true);
|
|
|
+ rbLocalAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_orange));
|
|
|
+ rbLocalAlarmclock.setTextColor(UiUtil.getColorRes(R.color.c_white));
|
|
|
+ rbRemoteAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_add));
|
|
|
+ rbRemoteAlarmclock.setTextColor(UiUtil.getColorRes(R.color.colorGray));
|
|
|
+ }else{
|
|
|
+ rbRemoteAlarmclock.setChecked(true);
|
|
|
+ rbRemoteAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_orange));
|
|
|
+ rbRemoteAlarmclock.setTextColor(UiUtil.getColorRes(R.color.c_white));
|
|
|
+ rbLocalAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_add));
|
|
|
+ rbLocalAlarmclock.setTextColor(UiUtil.getColorRes(R.color.colorGray));
|
|
|
+ }
|
|
|
+ startTimeCountDown();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private void initData() {
|
|
|
+ alarmClockBeans = Hawk.get(Name.LOCAL_ALARM_CLOCK,new ArrayList<AlarmClockBean>());
|
|
|
+ alarmClockAdapter = new AlarmClockAdapter(alarmClockBeans);
|
|
|
+ alarmClockAdapter.setListener(new AlarmClockAdapter.DialogClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClickListener(int type, int position) {
|
|
|
+ currentPosition =position;
|
|
|
+ Log.d(TAG, "onClickListener: ");
|
|
|
+ switch (type){
|
|
|
+ case 2:
|
|
|
+ showCheckDialog(2);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ AlarmClockBean remove = alarmClockBeans.remove(position);
|
|
|
+ alarmClockAdapter.setDatas(alarmClockBeans);
|
|
|
+ alarmClockAdapter.notifyDataSetChanged();
|
|
|
+ Hawk.put(Name.LOCAL_ALARM_CLOCK, alarmClockBeans);
|
|
|
+ //关闭指定的闹钟。
|
|
|
+ Integer number = Integer.valueOf(remove.getId());
|
|
|
+ for (int i = number*1000; i < number*1000+remove.getWeek().size(); i++) {//清除所有的闹钟
|
|
|
+ AlarmManagerUtil.cancelAlarm(BaseApplication.getContext(), AlarmManagerUtil.ALARM_ACTION, i);
|
|
|
+ Log.d(TAG, "setAlarmClock闹钟类型--: "+( + i));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCheckedChanged(int type, int position, boolean falg) {
|
|
|
+ AlarmClockBean alarmClockBean = alarmClockBeans.get(position);
|
|
|
+ alarmClockBean.setStatus(falg);
|
|
|
+ alarmClockAdapter.setDatas(alarmClockBeans);
|
|
|
+ alarmClockAdapter.notifyDataSetChanged();
|
|
|
+ Hawk.put(Name.LOCAL_ALARM_CLOCK, alarmClockBeans);
|
|
|
+ if (falg==false) {
|
|
|
+ //关闭指定的闹钟。说明需要关闭指定的闹钟
|
|
|
+ for (int i = position*1000; i < (position*1000)+10; i++) {//清除所有的闹钟
|
|
|
+ AlarmManagerUtil.cancelAlarm(BaseApplication.getContext(), AlarmManagerUtil.ALARM_ACTION, i);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //修改后,闹钟也要一同修改。
|
|
|
+ try {
|
|
|
+ int number = Integer.valueOf(alarmClockBean.getId()) * 10;
|
|
|
+ Log.d(TAG, "onCheckedChanged: ");
|
|
|
+ setAlarmClock(number, alarmClockBean, alarmClockBean.getType().getType() + "", number + 7);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ LinearLayoutManager layoutManager = new LinearLayoutManager(getBaseContext());
|
|
|
+ rvAlarmClock.setLayoutManager(layoutManager);
|
|
|
+ rvAlarmClock.setAdapter(alarmClockAdapter);
|
|
|
+ Log.d(TAG, "initData: ");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 闹钟数据
|
|
|
+ */
|
|
|
+ private void showCheckDialog(int type) {
|
|
|
+ Log.d(TAG, "showCheckDialog: ");
|
|
|
+ if (clockDialog == null) {
|
|
|
+ clockDialog = new AlarmClockDialog(LocalAlarmClockActivity.this, LocalAlarmClockActivity.this);
|
|
|
+ }
|
|
|
+ clockDialog.setListener(new AlarmClockDialog.DialogClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClickListener(int type, AlarmClockBean alarmClockBean) {
|
|
|
+ switch (type){
|
|
|
+ case 1:
|
|
|
+ alarmClockBean.setId(alarmClockBeans.size()+"");
|
|
|
+ alarmClockBeans.add(alarmClockBean);
|
|
|
+ alarmClockAdapter.setDatas(alarmClockBeans);
|
|
|
+ alarmClockAdapter.notifyDataSetChanged();
|
|
|
+ clockDialog.dismiss();
|
|
|
+ Hawk.put(Name.LOCAL_ALARM_CLOCK, alarmClockBeans);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ alarmClockBeans.set(currentPosition,alarmClockBean);
|
|
|
+ alarmClockAdapter.setDatas(alarmClockBeans);
|
|
|
+ alarmClockAdapter.notifyDataSetChanged();
|
|
|
+ clockDialog.dismiss();
|
|
|
+ Hawk.put(Name.LOCAL_ALARM_CLOCK, alarmClockBeans);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ Log.d(TAG, "onClickListener: "+alarmClockBeans);
|
|
|
+ Log.d(TAG, "onClickListener: "+alarmClockBean);
|
|
|
+ for (int i = 0; i < alarmClockBeans.size(); i++) {
|
|
|
+ AlarmClockBean alarmClockBean1 = alarmClockBeans.get(i);
|
|
|
+ alarmClockBean1.setId(i+"");
|
|
|
+ }
|
|
|
+ Hawk.put(Name.LOCAL_ALARM_CLOCK, alarmClockBeans);
|
|
|
+ //修改后,闹钟也要一同修改。
|
|
|
+ if (alarmClockBean.getStatus()) {
|
|
|
+ try {
|
|
|
+ int number = Integer.valueOf(alarmClockBean.getId()) * 10;
|
|
|
+ Log.d(TAG, "onClickListener0: "+alarmClockBean);
|
|
|
+ String hour = alarmClockBean.getHour();
|
|
|
+ String minute = alarmClockBean.getMinute();
|
|
|
+ setAlarmClock(number, alarmClockBean, alarmClockBean.getType().getType() + "", number + 7);
|
|
|
+ Log.d(TAG, "onClickListener1: "+alarmClockBean);
|
|
|
+ if (alarmClockBean.getType()==AlarmClockTypeEnum.CLOSE_DEV) {
|
|
|
+ alarmClockBean.setHour(hour);
|
|
|
+ alarmClockBean.setMinute(minute);
|
|
|
+ }
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Log.d(TAG, "showCheckDialog: "+currentPosition+":::::::"+type);
|
|
|
+ if (type==2) {
|
|
|
+ clockDialog.setData(alarmClockBeans.get(currentPosition));
|
|
|
+ clockDialog.setType(2);
|
|
|
+ }else{
|
|
|
+ clockDialog.setType(1);
|
|
|
+ clockDialog.cleanData(alarmClockBeans.size());
|
|
|
+
|
|
|
+ }
|
|
|
+ clockDialog.show();
|
|
|
+ }
|
|
|
+
|
|
|
+ public void setAlarmClock(){
|
|
|
+ /**
|
|
|
+ * 1. 用户点击添加的时候,那么我就开始设置闹钟。
|
|
|
+ * 2. 用户点击修改的时候,那么我就开始设置闹钟。
|
|
|
+ * 3. id作为这个序号。需要乘以10
|
|
|
+ * 4. 增加一个选项,是否开启本地闹钟,如果开启,则使用,不开启则不管。
|
|
|
+ */
|
|
|
+ alarmClockBeans = Hawk.get(Name.LOCAL_ALARM_CLOCK,new ArrayList<AlarmClockBean>());
|
|
|
+ for (AlarmClockBean clockBean : alarmClockBeans) {
|
|
|
+ //如果状态是关闭的则不要设置闹钟。
|
|
|
+ if (clockBean.getStatus()==false) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ int number = Integer.valueOf(clockBean.getId()) * 10;
|
|
|
+ try {
|
|
|
+ setAlarmClock(number, clockBean, clockBean.getType().getType() + "", number + 7);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public int setAlarmClock(int number, AlarmClockBean alarmClockBean, String type, int alarmNumber) throws ParseException {
|
|
|
+ Log.d(TAG, "setAlarmClock: "+alarmclockType);
|
|
|
+ if (!alarmclockType) {
|
|
|
+ Log.d(TAG, "setAlarmClock: 不设置闹钟");
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ for (int i = number; i < alarmNumber; i++) {//清除所有的闹钟
|
|
|
+ AlarmManagerUtil.cancelAlarm(BaseApplication.getContext(), AlarmManagerUtil.ALARM_ACTION, i);
|
|
|
+ }
|
|
|
+ ArrayList<WeekEnum> week = alarmClockBean.getWeek();
|
|
|
+
|
|
|
+ String hour = "";
|
|
|
+ String minute = "";
|
|
|
+ String msg = "";
|
|
|
+ if ("1".equals(type)) {//只有关机的才需要。
|
|
|
+ if (Integer.valueOf(alarmClockBean.getMinute()) < 40) {//如果小于5,我们需要做好计算才行。00:00:00
|
|
|
+ //小于5,则
|
|
|
+ // alarmClockBean.getHour()-1:
|
|
|
+ // alarmClockBean.getMinute():4-5=-1,60-1=59,是正确的。
|
|
|
+ if (Integer.valueOf(alarmClockBean.getHour()) < 1) {
|
|
|
+ hour = (Integer.valueOf(alarmClockBean.getHour()) - 1 + 24) + "";
|
|
|
+ Log.d(TAG, "setAlarmClock: 小于1");
|
|
|
+ } else {
|
|
|
+ hour = (Integer.valueOf(alarmClockBean.getHour()) - 1) + "";
|
|
|
+ Log.d(TAG, "setAlarmClock: 大于1");
|
|
|
+ }
|
|
|
+ minute = (Integer.valueOf(alarmClockBean.getMinute()) - 40 + 60) + "";
|
|
|
+ Log.d(TAG, "setAlarmClock: 小于5:a"+minute);
|
|
|
+ } else {
|
|
|
+ hour = alarmClockBean.getHour();
|
|
|
+ minute = (Integer.valueOf(alarmClockBean.getMinute()) - 40) + "";
|
|
|
+ Log.d(TAG, "setAlarmClock: 大于5:b"+minute);
|
|
|
+ }
|
|
|
+ Calendar now = Calendar.getInstance();
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
|
|
|
+ //设置时间
|
|
|
+ Date date1 = sdf.parse(alarmClockBean.getHour() + ":" +
|
|
|
+ alarmClockBean.getMinute() + ":" +
|
|
|
+ "00");
|
|
|
+ Log.d(TAG, "setAlarmClock: " + date1.toString());
|
|
|
+ //当前时间
|
|
|
+ Date date2 = sdf.parse(now.get(Calendar.HOUR_OF_DAY) + ":" +
|
|
|
+ now.get(Calendar.MINUTE) + ":" +
|
|
|
+ now.get(Calendar.SECOND));
|
|
|
+ Log.d(TAG, "setAlarmClock: " + date2.toString());
|
|
|
+
|
|
|
+ if (date1.compareTo(date2) > 0) {
|
|
|
+ Log.d(TAG, "Date1 时间在 Date2 之后");//没过
|
|
|
+ long nowDate = date1.getTime();//当前时间
|
|
|
+ long startDateTime = date2.getTime();//真实时间
|
|
|
+ int diffSeconds = (int) ((nowDate - startDateTime) / 1000);
|
|
|
+ Log.d(TAG, "setAlarmClock: " + diffSeconds);
|
|
|
+ if (diffSeconds >= 2400) {
|
|
|
+ alarmClockBean.setHour(hour);
|
|
|
+ alarmClockBean.setMinute(minute);
|
|
|
+ msg="hotwater";
|
|
|
+ LogUtils.logWrite("自动烧水4");
|
|
|
+ } else {
|
|
|
+ //不弹窗
|
|
|
+ Log.d(TAG, "Date1 时间在 Date2 之前");//没过
|
|
|
+
|
|
|
+ Log.d(TAG, "setAlarmClock1: 不弹窗");
|
|
|
+
|
|
|
+ }
|
|
|
+ } else {//过了
|
|
|
+ System.out.println("程序怎么会运行到这里?正常应该不会");
|
|
|
+ Log.d(TAG, "setAlarmClock1: 不弹窗");
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //时间。
|
|
|
+ for (int i = 0; i < week.size(); i++) {
|
|
|
+ AlarmManagerUtil.setAlarm(
|
|
|
+ BaseApplication.getContext(),
|
|
|
+ 2,
|
|
|
+ Integer.valueOf(alarmClockBean.getHour()),
|
|
|
+ Integer.valueOf(alarmClockBean.getMinute()), 0,
|
|
|
+ Integer.valueOf(alarmClockBean.getId())*10+i,
|
|
|
+ week.get(i).getType(),
|
|
|
+ type + msg);
|
|
|
+ Log.d(TAG, "setAlarmClock时: "+Integer.valueOf(alarmClockBean.getHour()));
|
|
|
+ Log.d(TAG, "setAlarmClock分: "+Integer.valueOf(alarmClockBean.getMinute()));
|
|
|
+ Log.d(TAG, "setAlarmClock星期: "+week.get(i).getType());
|
|
|
+ Log.d(TAG, "setAlarmClock id: "+(Integer.valueOf(alarmClockBean.getId())*1000+i));
|
|
|
+ Log.d(TAG, "setAlarmClock闹钟类型: "+(type + msg));
|
|
|
+ }
|
|
|
+ number = number + week.size();//累积。
|
|
|
+ return number;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private void isEdited(int clockType) {
|
|
|
+ if (saveDialog == null) {
|
|
|
+ saveDialog = new NormalDialog(LocalAlarmClockActivity.this, LocalAlarmClockActivity.this);
|
|
|
+ }
|
|
|
+ saveDialog.setListener(new DialogClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClickListener(int type) {
|
|
|
+ if (type == R.id.btn_confirm) {
|
|
|
+ if (clockType == R.id.rb_local_alarmclock) {
|
|
|
+ alarmclockType = true;
|
|
|
+ Hawk.put(Name.ALARMCLOCK_TYPE, true);
|
|
|
+ setAlarmClock();
|
|
|
+ //todo 并且要把远程的给清掉,要确认才修改。
|
|
|
+ // 1. 清理设置了的闹钟、
|
|
|
+ extracted(400, Global.openSleepNumber);
|
|
|
+ extracted(500, Global.closeSleepNumber);
|
|
|
+ extracted(300, Global.offTimeNumber);
|
|
|
+ extracted(200, Global.bootTimeNumber);
|
|
|
+ rbLocalAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_orange));
|
|
|
+ rbLocalAlarmclock.setTextColor(UiUtil.getColorRes(R.color.c_white));
|
|
|
+ rbRemoteAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_add));
|
|
|
+ rbRemoteAlarmclock.setTextColor(UiUtil.getColorRes(R.color.colorGray));
|
|
|
+ } else if (clockType == R.id.rb_remote_alarmclock) {
|
|
|
+ alarmclockType = false;
|
|
|
+ Hawk.put(Name.ALARMCLOCK_TYPE, false);
|
|
|
+ rbRemoteAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_orange));
|
|
|
+ rbRemoteAlarmclock.setTextColor(UiUtil.getColorRes(R.color.c_white));
|
|
|
+ rbLocalAlarmclock.setBackground(UiUtil.getDrawableRes(R.drawable.shape_btn_add));
|
|
|
+ rbLocalAlarmclock.setTextColor(UiUtil.getColorRes(R.color.colorGray));
|
|
|
+ }
|
|
|
+ saveDialog.dismiss();
|
|
|
+ } else if (type == R.id.btn_cancel) {
|
|
|
+ if (type == R.id.rb_local_alarmclock) {
|
|
|
+ rbRemoteAlarmclock.setChecked(true);
|
|
|
+ } else if (type == R.id.rb_remote_alarmclock) {
|
|
|
+ rbLocalAlarmclock.setChecked(true);
|
|
|
+ }
|
|
|
+ saveDialog.dismiss();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ saveDialog.setContent(UiUtil.getStringRes(R.string.local_alarm_clock_is_update));
|
|
|
+ saveDialog.show();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void extracted(int number,int alarmNumber) {
|
|
|
+ for (int i = number; i < alarmNumber; i++) {//清除所有的闹钟
|
|
|
+ AlarmManagerUtil.cancelAlarm(BaseApplication.getContext(), AlarmManagerUtil.ALARM_ACTION, i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private Timer countDownTimer;
|
|
|
+ private TimerTask timerTask;
|
|
|
+
|
|
|
+ public void startTimeCountDown() {
|
|
|
+ stopTimeDown();
|
|
|
+ countDownTimer = new Timer();
|
|
|
+ timerTask = new TimerTask() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ currentDate();
|
|
|
+ }
|
|
|
+ };
|
|
|
+ countDownTimer.schedule(timerTask, 0, 1000);
|
|
|
+ }
|
|
|
+
|
|
|
+ public void stopTimeDown() {
|
|
|
+ if (countDownTimer != null) {
|
|
|
+ timerTask.cancel();
|
|
|
+ countDownTimer.cancel();
|
|
|
+ timerTask = null;
|
|
|
+ countDownTimer = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void currentDate(){
|
|
|
+ long sysTime = System.currentTimeMillis();//获取系统时间
|
|
|
+ CharSequence sysTimeStr = DateFormat.format("yyyy-MM-dd HH:mm:ss", sysTime);//时间显示格式
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ tvCurrentDate.setText(sysTimeStr); //更新时间
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onDestroy() {
|
|
|
+ super.onDestroy();
|
|
|
+ stopTimeDown();
|
|
|
+ }
|
|
|
+}
|