private void InitState() { // title String sSubTitle = utils.GetResStr(R.string.titleDefaultAppointment); // date values dateStart = Calendar.getInstance(); dateEndOn = Calendar.getInstance(); dataRow.SetDuration(prefs.iMinutesDuration); // INSERT MODE if (GetStartMode() == StartMode.NEW) { sSubTitle = utils.GetResStr(R.string.titleNewAppointment); btnDelete.setVisibility(View.INVISIBLE); // initialize data SetStartDateByAgendaView(dateStart); updateStartDateTimeForNewAppointment(dateStart); SetStartTimeForDayAgendaView(dateStart); chkAllDay.setChecked(false); chkAlarm.setChecked(true); // repeat data iRepeatType = 0; // none iRepeatEvery = 1; dateEndOn.setTimeInMillis(0); // no end date } // EDIT MODE if (GetStartMode() == StartMode.EDIT) { sSubTitle = utils.GetResStr(R.string.titleEditAppointment); dateStart.setTimeInMillis(dataRow.GetStartDate().getTimeInMillis()); btnDelete.setVisibility(View.VISIBLE); edSubject.setText(dataRow.GetSubject()); chkAllDay.setChecked(dataRow.GetAllDay()); chkAlarm.setChecked(dataRow.GetAlarm()); // repeat data iRepeatType = dataRow.GetRepeat().GetRepeatTypeAsInt(); iRepeatEvery = dataRow.GetRepeat().GetEvery(); dateEndOn.setTimeInMillis(dataRow.GetRepeat().GetEndOnDate().getTimeInMillis()); } restoreStateFromFreezeIfRequired(); SetActivityTitle(sSubTitle); UpdateStartDateTimeView(); UpdateRepeatInfo(); // set focus to subject edSubject.requestFocus(); if (GetStartMode() == StartMode.EDIT) edSubject.setSelection(edSubject.length()); }
@Override protected void restoreStateFromFreeze() { edSubject.setText(freeze.getString("subject")); chkAlarm.setChecked(freeze.getBoolean("alarm")); dateStart.setTimeInMillis(freeze.getLong("dateStart")); chkAllDay.setChecked(freeze.getBoolean("allday")); iRepeatType = freeze.getInt("repeatType"); iRepeatEvery = freeze.getInt("repeatEvery"); dateEndOn.setTimeInMillis(freeze.getLong("dateEndOn")); }
@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); // save controls state outState.putString("subject", edSubject.getText().toString()); outState.putBoolean("alarm", chkAlarm.isChecked()); outState.putLong("dateStart", dateStart.getTimeInMillis()); outState.putBoolean("allday", chkAllDay.isChecked()); outState.putInt("repeatType", iRepeatType); outState.putInt("repeatEvery", iRepeatEvery); outState.putLong("dateEndOn", dateEndOn.getTimeInMillis()); }
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Bundle extras = CommonActivity.getIntentExtras(data); if (extras != null) { // check for repeat update if (ActivityAppointmentRepeat.GetActivityResult(requestCode, resultCode, extras)) { iRepeatType = ActivityAppointmentRepeat.getExtraRepeatType(extras); iRepeatEvery = ActivityAppointmentRepeat.getExtraRepeatEvery(extras); dateEndOn.setTimeInMillis(ActivityAppointmentRepeat.getExtraRepeatEndOnDate(extras)); UpdateRepeatInfo(); return; } // check for date widget edit request code if (requestCode == DateWidget.SELECT_DATE_REQUEST) { final long lDate = DateWidget.GetSelectedDateOnActivityResult(requestCode, resultCode, extras, dateStart); if (lDate != -1) { UpdateStartDateTimeView(); return; } } // check for time widget edit request code if ((requestCode == TimeWidget.SELECT_TIME_REQUEST) && (resultCode == RESULT_OK)) { final int iHour = TimeWidget.GetSelectedTimeHourOnActivityResult(requestCode, resultCode, extras); final int iMinute = TimeWidget.GetSelectedTimeMinuteOnActivityResult(requestCode, resultCode, extras); dateStart.set(Calendar.HOUR_OF_DAY, iHour); dateStart.set(Calendar.MINUTE, iMinute); chkAllDay.setChecked(false); UpdateStartDateTimeView(); return; } // get KeyboardWidget result if ((requestCode == KeyboardWidget.EDIT_TEXT_REQUEST) && (resultCode == RESULT_OK)) { String sText = KeyboardWidget.GetTextOnActivityResult(requestCode, resultCode, extras); edSubject.setText(sText); return; } } }
public void SaveData() { // check date if no repeat if ((iRepeatType == 0) && (DateBeforeNow(dateStart))) return; dataRow.SetSubject(edSubject.getText().toString()); dataRow.SetStartDate(dateStart); dataRow.SetAllDay(chkAllDay.isChecked()); dataRow.SetAlarm(chkAlarm.isChecked()); // set repeat type RepeatData rd = dataRow.GetRepeat(); rd.SetRepeatTypeAsInt(iRepeatType); rd.SetEvery(iRepeatEvery); rd.SetEndOnDate(dateEndOn.getTimeInMillis()); if (SaveDataToTable(dataTable)) CloseActivity(dataTable); }
private void UpdateStartDateTimeView() { btnStartDate.setText(AnCalDateUtils.formatMediumDate(this, dateStart)); if (chkAllDay.isChecked()) { btnStartTime.setText(utils.GetResStr(R.string.labNoTime)); } else { btnStartTime.setText(AnCalDateUtils.formatTime(this, dateStart)); } }
private void InitViews() { edSubject = (TouchEdit) findViewById(R.id.edAppointmentSubject); edSubject.setOnOpenKeyboard( new TouchEdit.OnOpenKeyboard() { public void OnOpenKeyboardEvent() { KeyboardWidget.Open(ActivityAppointment.this, edSubject.getText().toString()); } }); btnStartDate = (Button) findViewById(R.id.btnAppointmentStartDate); btnStartTime = (Button) findViewById(R.id.btnAppointmentStartTime); chkAllDay = (CheckBox) findViewById(R.id.chkAppointmentAllDay); chkAlarm = (CheckBox) findViewById(R.id.chkAppointmentAlarm); btnRepeatSelect = (Button) findViewById(R.id.btnRepeatSelect); btnRepeatSelect.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { OpenRepeatDialog(); } }); btnSave = (ImageButton) findViewById(R.id.btnAppointmentSave); btnSave.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { SaveData(); } }); btnDelete = (ImageButton) findViewById(R.id.btnAppointmentDelete); btnDelete.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { DeleteData(); } }); btnStartDate.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { DateWidget.Open(ActivityAppointment.this, false, dateStart, prefs.iFirstDayOfWeek); } }); btnStartTime.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { TimeWidget.Open( ActivityAppointment.this, false, prefs.b24HourMode, dateStart.get(Calendar.HOUR_OF_DAY), dateStart.get(Calendar.MINUTE)); } }); chkAllDay.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { UpdateStartDateTimeView(); } }); }