Skip to content

Commit

Permalink
Merge pull request #4 from mohamedAdhamc/Hossam_Branch
Browse files Browse the repository at this point in the history
Merge Hossam branch into main
  • Loading branch information
mohamedAdhamc authored May 10, 2024
2 parents 728541d + ebf7cba commit d892ba6
Show file tree
Hide file tree
Showing 12 changed files with 211 additions and 178 deletions.
12 changes: 12 additions & 0 deletions .idea/discord.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,36 +1,29 @@
package com.example.taskmanager.Activity;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.util.Log;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

import com.example.taskmanager.Database.RoomDB;
import com.example.taskmanager.R;
import com.example.taskmanager.Utility.TaskModel;

import java.time.LocalDate;
import java.util.List;


public class CreateTaskActivity extends AppCompatActivity {
String currentPriority = "Low";
String currentDate = "non";
String currentTime = "non";
String currentDate = "Not defined";
String currentTime = "Not defined";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -46,87 +39,70 @@ protected void onCreate(Bundle savedInstanceState) {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// Perform action on item selection
String selectedItem = parentView.getItemAtPosition(position).toString();
// Do something with the selected item
currentPriority = selectedItem;
currentPriority = parentView.getItemAtPosition(position).toString();
}

@Override
public void onNothingSelected(AdapterView<?> parentView) {
// Do nothing
}
});

//for database testing purposes (note that anyways this wouldnt work as you can't directly call db method from the same UI thread)
// RoomDB instance = RoomDB.getInstance(getApplicationContext());
// instance.taskDAO().insertTask(new TaskModel( 0, "test", "ayyyyy", "", "", "", true));
// List<TaskModel> allTasks = instance.taskDAO().getAllTasks();
// Log.wtf("DB", allTasks.toString());
}

public void selectDate(View v) {
int currentMonth = LocalDate.now().getMonthValue()-1;
int currentMonth = LocalDate.now().getMonthValue() - 1;
int currentDay = LocalDate.now().getDayOfMonth();
int currentYear = LocalDate.now().getYear();
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDayOfMonth) {
currentDate = String.valueOf(selectedDayOfMonth) +'-'+ String.valueOf(selectedMonth+1) + '-'+String.valueOf(selectedYear);
TextView currDateText = findViewById(R.id.dateText);
currDateText.setText(currentDate);
((Button)findViewById(R.id.timeSelectButton)).setEnabled(true);
}

(view, selectedYear, selectedMonth, selectedDayOfMonth) -> {
currentDate = String.valueOf(selectedDayOfMonth) + '-' + (selectedMonth + 1) + '-' + selectedYear;
TextView currDateText = findViewById(R.id.dateText);
currDateText.setText(currentDate);
findViewById(R.id.timeSelectButton).setEnabled(true);
}, currentYear, currentMonth, currentDay);

// Show the DatePickerDialog

datePickerDialog.show();
}

public void selectTime(View v){
public void selectTime(View v) {
// Get current hour and minute

// Create a TimePickerDialog and set its listener
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Update currentTime with the selected time
currentTime = String.valueOf(hourOfDay)+":"+String.valueOf(minute);
// Update TextView to display the selected time
TextView currTimeText = findViewById(R.id.timeText);
currTimeText.setText(currentTime);
}
(view, hourOfDay, minute) -> {
// Update currentTime with the selected time
currentTime = hourOfDay + ":" + minute;
// Update TextView to display the selected time
TextView currTimeText = findViewById(R.id.timeText);
currTimeText.setText(currentTime);
}, 6, 0, true);

// Show the TimePickerDialog
timePickerDialog.show();
}

public void saveToLocalDB(View v){
String name = ((EditText)findViewById(R.id.editTextText)).getText().toString();
String description = ((EditText)findViewById(R.id.editTextTextMultiLine)).getText().toString();
public void saveToLocalDB(View v) {
String name = ((EditText) findViewById(R.id.editTextText)).getText().toString();
String description = ((EditText) findViewById(R.id.editTextTextMultiLine)).getText().toString();
String priority = currentPriority;
String date = currentDate;
Boolean editable = ((CheckBox)findViewById(R.id.checkBox2)).isChecked();

if(name.isEmpty()){
Toast.makeText(this,"Please fill the name field",Toast.LENGTH_LONG).show();
}
else if(description.isEmpty()){
Toast.makeText(this,"Please fill the description field",Toast.LENGTH_LONG).show();
}
else{
// Toast.makeText(this,currentDate,Toast.LENGTH_LONG).show();
// Toast.makeText(this,currentTime,Toast.LENGTH_LONG).show();
if (name.isEmpty()) {
Log.d("DB_Task_Insertion", "NAME ERROR");
Toast.makeText(this, "Please fill the name field", Toast.LENGTH_LONG).show();
} else if (description.isEmpty()) {
Log.d("DB_Task_Insertion", "desc ERROR");
Toast.makeText(this, "Please fill the description field", Toast.LENGTH_LONG).show();
} else {
TaskModel task = new TaskModel(0, name, description, priority, date, currentTime, editable);

//Pass the items to local DB
////////////////
///////////////
/////////////
///////////
RoomDB instance = RoomDB.getInstance(this);
new Thread(() -> instance.taskDAO().insertTask(task)).start();

finish();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;

import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
Expand All @@ -16,7 +15,6 @@
import com.google.android.material.navigation.NavigationView;

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
static int x = 0;
private DrawerLayout drawerLayout;

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.example.taskmanager.Activity;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
Expand All @@ -15,11 +15,9 @@
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

import com.example.taskmanager.Database.RoomDB;
import com.example.taskmanager.Utility.TaskModel;
import com.example.taskmanager.R;

import java.time.LocalDate;
import java.util.Calendar;

Expand All @@ -32,23 +30,23 @@ public class ModifyTaskActivity extends AppCompatActivity {
private static TextView timeView;
private static Button saveBtn;
private static TextView priorityView;
String currentPriority = "Low";
String currentDate = "NotSpecified";
String currentTime = "non";
TaskModel task;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_modify_task);

//Declaring Views
titleLb = (TextView) findViewById(R.id.titleLb);
nameView = (EditText) findViewById(R.id.nameView);
descriptionView = (EditText) findViewById(R.id.descriptionView);
prioritySpinner = (Spinner) findViewById(R.id.prioritySpinner);
dateView = (TextView) findViewById(R.id.dateView);
timeView = (TextView) findViewById(R.id.timeView);
saveBtn = (Button) findViewById(R.id.saveBtn);
priorityView = (TextView) findViewById(R.id.priorityView);
titleLb = findViewById(R.id.titleLb);
nameView = findViewById(R.id.nameView);
descriptionView = findViewById(R.id.descriptionView);
prioritySpinner = findViewById(R.id.prioritySpinner);
dateView = findViewById(R.id.dateView);
timeView = findViewById(R.id.timeView);
saveBtn = findViewById(R.id.saveBtn);
priorityView = findViewById(R.id.priorityView);

// Adding items to priority Spinner
Spinner prioritySpinner = findViewById(R.id.prioritySpinner);
Expand All @@ -60,12 +58,13 @@ protected void onCreate(Bundle savedInstanceState) {

//Receive info from mainActivity
Intent i = getIntent();
TaskModel task = (TaskModel) i.getSerializableExtra("task");
task = (TaskModel) i.getSerializableExtra("task");

assert task != null;
nameView.setText(task.getTitle());

prioritySpinner.setSelection(Integer.parseInt(task.getCurrentPriority()));

prioritySpinner.setSelection(adapter.getPosition(task.getCurrentPriority()));
priorityView.setText(prioritySpinner.getSelectedItem().toString());
dateView.setText(task.getCurrentDate());
descriptionView.setText(task.getDescription());
Expand All @@ -74,7 +73,7 @@ protected void onCreate(Bundle savedInstanceState) {
titleLb.setText(activityType + " Task");

assert activityType != null;
if(activityType.equals("View")){
if (activityType.equals("View")) {
nameView.setEnabled(false);
prioritySpinner.setEnabled(false);
dateView.setEnabled(false);
Expand All @@ -83,8 +82,7 @@ protected void onCreate(Bundle savedInstanceState) {
saveBtn.setVisibility(View.GONE);
prioritySpinner.setVisibility(View.GONE);
priorityView.setVisibility(View.VISIBLE);
}
else{//Modify
} else {//Modify
nameView.setEnabled(true);
prioritySpinner.setEnabled(true);
dateView.setEnabled(true);
Expand All @@ -95,6 +93,7 @@ protected void onCreate(Bundle savedInstanceState) {
priorityView.setVisibility(View.GONE);
}
}

public void changeCalender(View v) {
int currentMonth = LocalDate.now().getMonthValue() - 1;
int currentDay = LocalDate.now().getDayOfMonth();
Expand All @@ -104,7 +103,7 @@ public void changeCalender(View v) {
@Override
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDayOfMonth) {
// Construct selected date string
currentDate = String.valueOf(selectedDayOfMonth) + '-' + String.valueOf(selectedMonth + 1) + '-' + String.valueOf(selectedYear);
currentDate = String.valueOf(selectedDayOfMonth) + '-' + (selectedMonth + 1) + '-' + selectedYear;

// Compare selected date with current date
Calendar selectedCalendar = Calendar.getInstance();
Expand All @@ -127,10 +126,11 @@ public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int
// Show the DatePickerDialog
datePickerDialog.show();
}
public void changeTime(View v){

public void changeTime(View v) {
Calendar calendar = Calendar.getInstance();
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minutes = calendar.get(calendar.MINUTE);
int minutes = calendar.get(Calendar.MINUTE);
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Expand All @@ -141,10 +141,9 @@ public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
selectedTime.set(Calendar.MINUTE, minute);

String amPm;
if(hourOfDay>=12){
if (hourOfDay >= 12) {
amPm = "PM";
}
else{
} else {
amPm = "AM";
}

Expand All @@ -153,39 +152,47 @@ public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Prompt user to select a future time
// Show message
AlertDialog.Builder builder = new AlertDialog.Builder(ModifyTaskActivity.this);
builder.setTitle("Incorrect Info").setMessage(hourOfDay+":"+minute+amPm+" has passed buddy!");
builder.setTitle("Incorrect Info").setMessage(hourOfDay + ":" + minute + amPm + " has passed buddy!");
builder.show();
} else {
((TextView)findViewById(R.id.timeView)).setText((hourOfDay%12)+":"+minute+" "+amPm);
((TextView) findViewById(R.id.timeView)).setText((hourOfDay % 12) + ":" + minute + " " + amPm);
}
}
}, hour, minutes, false);
timePickerDialog.show();
}
public void returnToMain(View v){
Intent i = new Intent(this,MainActivity.class);
startActivity(i);

public void returnToMain(View v)
{
finish();
}
public void save(View v){

public void save(View v) {
String name = nameView.getText().toString().trim();
String description = descriptionView.getText().toString();
String priority = prioritySpinner.getSelectedItem().toString();
Log.d("success",priority);
String date = dateView.getText().toString();
Log.d("success",date);
String time = timeView.getText().toString();
Log.d("success",time);
if(name.equals("")){

if (name.isEmpty()) {
AlertDialog.Builder builder = new AlertDialog.Builder(ModifyTaskActivity.this);
builder.setTitle("Incorrect Info")
.setMessage("Please enter task name");
builder.show();
}
else {
String saved = "Your Task \"" + nameView.getText().toString().trim() + "\" has been saved Successfully!";
Toast.makeText(this, saved, Toast.LENGTH_SHORT).show();
Intent i = new Intent(this, MainActivity.class);
startActivity(i);
} else if (description.isEmpty()) {
AlertDialog.Builder builder = new AlertDialog.Builder(ModifyTaskActivity.this);
builder.setTitle("Incorrect Info")
.setMessage("Please enter task description");
builder.show();
} else {
task.setTitle(name);
task.setDescription(description);
task.setCurrentDate(dateView.getText().toString());
task.setCurrentTime(timeView.getText().toString());
task.setCurrentPriority(prioritySpinner.getSelectedItem().toString());

RoomDB instance = RoomDB.getInstance(this);

new Thread(() -> instance.taskDAO().updateTask(task)).start();

finish();
}
}
}
Loading

0 comments on commit d892ba6

Please sign in to comment.