Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package corso.java.todotasks;
- import androidx.appcompat.app.AppCompatActivity;
- import android.content.ContentValues;
- import android.net.Uri;
- import android.os.Bundle;
- import android.provider.CalendarContract;
- import android.text.Editable;
- import android.text.TextWatcher;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import java.util.Date;
- import corso.java.todotasks.datamodel.Task;
- import corso.java.todotasks.localpersist.TasksDao;
- public class EditTaskActivity extends AppCompatActivity {
- public static class TextChangeListener implements TextWatcher {
- private final EditText first;
- private final EditText second;
- private final Button buttonToHandle;
- public TextChangeListener(EditText first, EditText second, Button buttonToHandle) {
- this.first = first;
- this.second = second;
- this.buttonToHandle = buttonToHandle;
- }
- @Override
- public void beforeTextChanged(CharSequence charSequence, int start, int before, int count) {
- }
- @Override
- public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
- buttonToHandle.setEnabled(first.getText().length() > 0 && second.getText().length() > 0);
- }
- @Override
- public void afterTextChanged(Editable editable) {
- }
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_edit_task);
- final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
- Date today = Calendar.getInstance().getTime();
- final EditText txtTitle = findViewById(R.id.txt_title);
- final EditText txtDescription = findViewById(R.id.txt_description);
- final EditText txtStartDate = findViewById(R.id.txt_start_date);
- txtStartDate.setText(sdf.format(today));
- final EditText txtEndDate = findViewById(R.id.txt_end_date);
- txtEndDate.setText(sdf.format(today));
- final Button btnAdd = findViewById(R.id.btn_add);
- txtTitle.addTextChangedListener(new TextChangeListener(txtTitle, txtDescription, btnAdd));
- txtDescription.addTextChangedListener(new TextChangeListener(txtTitle, txtDescription, btnAdd));
- btnAdd.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- try {
- TasksDao dao = new TasksDao(EditTaskActivity.this);
- Task task = new Task.Builder()
- .withTitle(txtTitle.getText().toString())
- .withDescription(txtDescription.getText().toString())
- .withStartDate(sdf.parse(txtStartDate.getText().toString()))
- .withEndDate(sdf.parse(txtEndDate.getText().toString()))
- .build();
- dao.create(task);
- Uri eventsUri = CalendarContract.Events.CONTENT_URI;
- // oggetto di mappatura delle proprietà di un evento
- ContentValues cv = new ContentValues();
- cv.put(CalendarContract.Events.TITLE, task.title);
- cv.put(CalendarContract.Events.DTSTART, task.startDate.getTime());
- cv.put(CalendarContract.Events.DTEND, task.endDate.getTime());
- cv.put(CalendarContract.Events.CALENDAR_ID, 1);
- cv.put(CalendarContract.Events.EVENT_TIMEZONE, "Europe/Rome");
- Uri uri = getContentResolver().insert(eventsUri, cv);
- onBackPressed();
- } catch (Exception ex) {
- Log.e("EditTaskActivity", "onClick: " + ex.toString());
- }
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement