Advertisement
NelloRizzo

Activity EditTask

Oct 17th, 2020
2,539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.99 KB | None | 0 0
  1. package corso.java.todotasks;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4.  
  5. import android.content.ContentValues;
  6. import android.net.Uri;
  7. import android.os.Bundle;
  8. import android.provider.CalendarContract;
  9. import android.text.Editable;
  10. import android.text.TextWatcher;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15.  
  16. import java.text.SimpleDateFormat;
  17. import java.util.Calendar;
  18. import java.util.Date;
  19.  
  20. import corso.java.todotasks.datamodel.Task;
  21. import corso.java.todotasks.localpersist.TasksDao;
  22.  
  23. public class EditTaskActivity extends AppCompatActivity {
  24.  
  25.     public static class TextChangeListener implements TextWatcher {
  26.         private final EditText first;
  27.         private final EditText second;
  28.         private final Button buttonToHandle;
  29.  
  30.         public TextChangeListener(EditText first, EditText second, Button buttonToHandle) {
  31.             this.first = first;
  32.             this.second = second;
  33.             this.buttonToHandle = buttonToHandle;
  34.         }
  35.  
  36.         @Override
  37.         public void beforeTextChanged(CharSequence charSequence, int start, int before, int count) {
  38.  
  39.         }
  40.  
  41.         @Override
  42.         public void onTextChanged(CharSequence charSequence, int start, int before, int count) {
  43.             buttonToHandle.setEnabled(first.getText().length() > 0 && second.getText().length() > 0);
  44.         }
  45.  
  46.         @Override
  47.         public void afterTextChanged(Editable editable) {
  48.  
  49.         }
  50.     }
  51.  
  52.     @Override
  53.     protected void onCreate(Bundle savedInstanceState) {
  54.         super.onCreate(savedInstanceState);
  55.         setContentView(R.layout.activity_edit_task);
  56.         final SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
  57.         Date today = Calendar.getInstance().getTime();
  58.  
  59.         final EditText txtTitle = findViewById(R.id.txt_title);
  60.         final EditText txtDescription = findViewById(R.id.txt_description);
  61.         final EditText txtStartDate = findViewById(R.id.txt_start_date);
  62.         txtStartDate.setText(sdf.format(today));
  63.         final EditText txtEndDate = findViewById(R.id.txt_end_date);
  64.         txtEndDate.setText(sdf.format(today));
  65.         final Button btnAdd = findViewById(R.id.btn_add);
  66.  
  67.         txtTitle.addTextChangedListener(new TextChangeListener(txtTitle, txtDescription, btnAdd));
  68.         txtDescription.addTextChangedListener(new TextChangeListener(txtTitle, txtDescription, btnAdd));
  69.         btnAdd.setOnClickListener(new View.OnClickListener() {
  70.             @Override
  71.             public void onClick(View view) {
  72.                 try {
  73.                     TasksDao dao = new TasksDao(EditTaskActivity.this);
  74.                     Task task = new Task.Builder()
  75.                             .withTitle(txtTitle.getText().toString())
  76.                             .withDescription(txtDescription.getText().toString())
  77.                             .withStartDate(sdf.parse(txtStartDate.getText().toString()))
  78.                             .withEndDate(sdf.parse(txtEndDate.getText().toString()))
  79.                             .build();
  80.                     dao.create(task);
  81.  
  82.                     Uri eventsUri = CalendarContract.Events.CONTENT_URI;
  83.                     // oggetto di mappatura delle proprietà di un evento
  84.                     ContentValues cv = new ContentValues();
  85.                     cv.put(CalendarContract.Events.TITLE, task.title);
  86.                     cv.put(CalendarContract.Events.DTSTART, task.startDate.getTime());
  87.                     cv.put(CalendarContract.Events.DTEND, task.endDate.getTime());
  88.                     cv.put(CalendarContract.Events.CALENDAR_ID, 1);
  89.                     cv.put(CalendarContract.Events.EVENT_TIMEZONE, "Europe/Rome");
  90.                     Uri uri = getContentResolver().insert(eventsUri, cv);
  91.                     onBackPressed();
  92.                 } catch (Exception ex) {
  93.                     Log.e("EditTaskActivity", "onClick: " + ex.toString());
  94.                 }
  95.             }
  96.         });
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement