Skip to content

Commit d892ba6

Browse files
Merge pull request #4 from mohamedAdhamc/Hossam_Branch
Merge Hossam branch into main
2 parents 728541d + ebf7cba commit d892ba6

File tree

12 files changed

+211
-178
lines changed

12 files changed

+211
-178
lines changed

.idea/discord.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 35 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,29 @@
11
package com.example.taskmanager.Activity;
22

33
import androidx.appcompat.app.AppCompatActivity;
4-
54
import android.app.DatePickerDialog;
65
import android.app.TimePickerDialog;
76
import android.os.Bundle;
7+
import android.util.Log;
88
import android.widget.AdapterView;
9-
import android.widget.Button;
10-
import android.widget.DatePicker;
9+
import android.widget.CheckBox;
1110
import android.widget.EditText;
1211
import android.widget.Spinner;
13-
import android.os.Bundle;
14-
import android.util.Log;
1512
import android.view.View;
16-
import android.widget.AdapterView;
1713
import android.widget.ArrayAdapter;
18-
import android.widget.Spinner;
1914
import android.widget.TextView;
20-
import android.widget.TimePicker;
2115
import android.widget.Toast;
22-
2316
import com.example.taskmanager.Database.RoomDB;
2417
import com.example.taskmanager.R;
2518
import com.example.taskmanager.Utility.TaskModel;
26-
2719
import java.time.LocalDate;
28-
import java.util.List;
20+
2921

3022
public class CreateTaskActivity extends AppCompatActivity {
3123
String currentPriority = "Low";
32-
String currentDate = "non";
33-
String currentTime = "non";
24+
String currentDate = "Not defined";
25+
String currentTime = "Not defined";
26+
3427
@Override
3528
protected void onCreate(Bundle savedInstanceState) {
3629
super.onCreate(savedInstanceState);
@@ -46,87 +39,70 @@ protected void onCreate(Bundle savedInstanceState) {
4639
@Override
4740
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
4841
// Perform action on item selection
49-
String selectedItem = parentView.getItemAtPosition(position).toString();
50-
// Do something with the selected item
51-
currentPriority = selectedItem;
42+
currentPriority = parentView.getItemAtPosition(position).toString();
5243
}
5344

5445
@Override
5546
public void onNothingSelected(AdapterView<?> parentView) {
5647
// Do nothing
5748
}
5849
});
59-
60-
//for database testing purposes (note that anyways this wouldnt work as you can't directly call db method from the same UI thread)
61-
// RoomDB instance = RoomDB.getInstance(getApplicationContext());
62-
// instance.taskDAO().insertTask(new TaskModel( 0, "test", "ayyyyy", "", "", "", true));
63-
// List<TaskModel> allTasks = instance.taskDAO().getAllTasks();
64-
// Log.wtf("DB", allTasks.toString());
6550
}
6651

6752
public void selectDate(View v) {
68-
int currentMonth = LocalDate.now().getMonthValue()-1;
53+
int currentMonth = LocalDate.now().getMonthValue() - 1;
6954
int currentDay = LocalDate.now().getDayOfMonth();
7055
int currentYear = LocalDate.now().getYear();
7156
DatePickerDialog datePickerDialog = new DatePickerDialog(this,
72-
new DatePickerDialog.OnDateSetListener() {
73-
@Override
74-
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDayOfMonth) {
75-
currentDate = String.valueOf(selectedDayOfMonth) +'-'+ String.valueOf(selectedMonth+1) + '-'+String.valueOf(selectedYear);
76-
TextView currDateText = findViewById(R.id.dateText);
77-
currDateText.setText(currentDate);
78-
((Button)findViewById(R.id.timeSelectButton)).setEnabled(true);
79-
}
80-
57+
(view, selectedYear, selectedMonth, selectedDayOfMonth) -> {
58+
currentDate = String.valueOf(selectedDayOfMonth) + '-' + (selectedMonth + 1) + '-' + selectedYear;
59+
TextView currDateText = findViewById(R.id.dateText);
60+
currDateText.setText(currentDate);
61+
findViewById(R.id.timeSelectButton).setEnabled(true);
8162
}, currentYear, currentMonth, currentDay);
8263

8364
// Show the DatePickerDialog
8465

8566
datePickerDialog.show();
8667
}
8768

88-
public void selectTime(View v){
69+
public void selectTime(View v) {
8970
// Get current hour and minute
9071

9172
// Create a TimePickerDialog and set its listener
9273
TimePickerDialog timePickerDialog = new TimePickerDialog(this,
93-
new TimePickerDialog.OnTimeSetListener() {
94-
@Override
95-
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
96-
// Update currentTime with the selected time
97-
currentTime = String.valueOf(hourOfDay)+":"+String.valueOf(minute);
98-
// Update TextView to display the selected time
99-
TextView currTimeText = findViewById(R.id.timeText);
100-
currTimeText.setText(currentTime);
101-
}
74+
(view, hourOfDay, minute) -> {
75+
// Update currentTime with the selected time
76+
currentTime = hourOfDay + ":" + minute;
77+
// Update TextView to display the selected time
78+
TextView currTimeText = findViewById(R.id.timeText);
79+
currTimeText.setText(currentTime);
10280
}, 6, 0, true);
10381

10482
// Show the TimePickerDialog
10583
timePickerDialog.show();
10684
}
10785

108-
public void saveToLocalDB(View v){
109-
String name = ((EditText)findViewById(R.id.editTextText)).getText().toString();
110-
String description = ((EditText)findViewById(R.id.editTextTextMultiLine)).getText().toString();
86+
public void saveToLocalDB(View v) {
87+
String name = ((EditText) findViewById(R.id.editTextText)).getText().toString();
88+
String description = ((EditText) findViewById(R.id.editTextTextMultiLine)).getText().toString();
11189
String priority = currentPriority;
11290
String date = currentDate;
91+
Boolean editable = ((CheckBox)findViewById(R.id.checkBox2)).isChecked();
11392

114-
if(name.isEmpty()){
115-
Toast.makeText(this,"Please fill the name field",Toast.LENGTH_LONG).show();
116-
}
117-
else if(description.isEmpty()){
118-
Toast.makeText(this,"Please fill the description field",Toast.LENGTH_LONG).show();
119-
}
120-
else{
121-
// Toast.makeText(this,currentDate,Toast.LENGTH_LONG).show();
122-
// Toast.makeText(this,currentTime,Toast.LENGTH_LONG).show();
93+
if (name.isEmpty()) {
94+
Log.d("DB_Task_Insertion", "NAME ERROR");
95+
Toast.makeText(this, "Please fill the name field", Toast.LENGTH_LONG).show();
96+
} else if (description.isEmpty()) {
97+
Log.d("DB_Task_Insertion", "desc ERROR");
98+
Toast.makeText(this, "Please fill the description field", Toast.LENGTH_LONG).show();
99+
} else {
100+
TaskModel task = new TaskModel(0, name, description, priority, date, currentTime, editable);
123101

124-
//Pass the items to local DB
125-
////////////////
126-
///////////////
127-
/////////////
128-
///////////
102+
RoomDB instance = RoomDB.getInstance(this);
103+
new Thread(() -> instance.taskDAO().insertTask(task)).start();
129104

105+
finish();
130106
}
131107
}
132108
}

app/src/main/java/com/example/taskmanager/Activity/MainActivity.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import androidx.appcompat.app.AppCompatActivity;
55
import androidx.core.view.GravityCompat;
66
import androidx.drawerlayout.widget.DrawerLayout;
7-
87
import android.content.Intent;
98
import android.os.Bundle;
109
import android.view.MenuItem;
@@ -16,7 +15,6 @@
1615
import com.google.android.material.navigation.NavigationView;
1716

1817
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
19-
static int x = 0;
2018
private DrawerLayout drawerLayout;
2119

2220
@Override
Lines changed: 51 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package com.example.taskmanager.Activity;
22

33
import androidx.appcompat.app.AppCompatActivity;
4+
45
import android.app.AlertDialog;
56
import android.app.DatePickerDialog;
67
import android.app.TimePickerDialog;
78
import android.content.Intent;
89
import android.os.Bundle;
9-
import android.util.Log;
1010
import android.view.View;
1111
import android.widget.ArrayAdapter;
1212
import android.widget.Button;
@@ -15,11 +15,9 @@
1515
import android.widget.Spinner;
1616
import android.widget.TextView;
1717
import android.widget.TimePicker;
18-
import android.widget.Toast;
19-
18+
import com.example.taskmanager.Database.RoomDB;
2019
import com.example.taskmanager.Utility.TaskModel;
2120
import com.example.taskmanager.R;
22-
2321
import java.time.LocalDate;
2422
import java.util.Calendar;
2523

@@ -32,23 +30,23 @@ public class ModifyTaskActivity extends AppCompatActivity {
3230
private static TextView timeView;
3331
private static Button saveBtn;
3432
private static TextView priorityView;
35-
String currentPriority = "Low";
3633
String currentDate = "NotSpecified";
37-
String currentTime = "non";
34+
TaskModel task;
3835

3936
@Override
4037
protected void onCreate(Bundle savedInstanceState) {
4138
super.onCreate(savedInstanceState);
4239
setContentView(R.layout.activity_modify_task);
40+
4341
//Declaring Views
44-
titleLb = (TextView) findViewById(R.id.titleLb);
45-
nameView = (EditText) findViewById(R.id.nameView);
46-
descriptionView = (EditText) findViewById(R.id.descriptionView);
47-
prioritySpinner = (Spinner) findViewById(R.id.prioritySpinner);
48-
dateView = (TextView) findViewById(R.id.dateView);
49-
timeView = (TextView) findViewById(R.id.timeView);
50-
saveBtn = (Button) findViewById(R.id.saveBtn);
51-
priorityView = (TextView) findViewById(R.id.priorityView);
42+
titleLb = findViewById(R.id.titleLb);
43+
nameView = findViewById(R.id.nameView);
44+
descriptionView = findViewById(R.id.descriptionView);
45+
prioritySpinner = findViewById(R.id.prioritySpinner);
46+
dateView = findViewById(R.id.dateView);
47+
timeView = findViewById(R.id.timeView);
48+
saveBtn = findViewById(R.id.saveBtn);
49+
priorityView = findViewById(R.id.priorityView);
5250

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

6159
//Receive info from mainActivity
6260
Intent i = getIntent();
63-
TaskModel task = (TaskModel) i.getSerializableExtra("task");
61+
task = (TaskModel) i.getSerializableExtra("task");
6462

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

68-
prioritySpinner.setSelection(Integer.parseInt(task.getCurrentPriority()));
66+
67+
prioritySpinner.setSelection(adapter.getPosition(task.getCurrentPriority()));
6968
priorityView.setText(prioritySpinner.getSelectedItem().toString());
7069
dateView.setText(task.getCurrentDate());
7170
descriptionView.setText(task.getDescription());
@@ -74,7 +73,7 @@ protected void onCreate(Bundle savedInstanceState) {
7473
titleLb.setText(activityType + " Task");
7574

7675
assert activityType != null;
77-
if(activityType.equals("View")){
76+
if (activityType.equals("View")) {
7877
nameView.setEnabled(false);
7978
prioritySpinner.setEnabled(false);
8079
dateView.setEnabled(false);
@@ -83,8 +82,7 @@ protected void onCreate(Bundle savedInstanceState) {
8382
saveBtn.setVisibility(View.GONE);
8483
prioritySpinner.setVisibility(View.GONE);
8584
priorityView.setVisibility(View.VISIBLE);
86-
}
87-
else{//Modify
85+
} else {//Modify
8886
nameView.setEnabled(true);
8987
prioritySpinner.setEnabled(true);
9088
dateView.setEnabled(true);
@@ -95,6 +93,7 @@ protected void onCreate(Bundle savedInstanceState) {
9593
priorityView.setVisibility(View.GONE);
9694
}
9795
}
96+
9897
public void changeCalender(View v) {
9998
int currentMonth = LocalDate.now().getMonthValue() - 1;
10099
int currentDay = LocalDate.now().getDayOfMonth();
@@ -104,7 +103,7 @@ public void changeCalender(View v) {
104103
@Override
105104
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDayOfMonth) {
106105
// Construct selected date string
107-
currentDate = String.valueOf(selectedDayOfMonth) + '-' + String.valueOf(selectedMonth + 1) + '-' + String.valueOf(selectedYear);
106+
currentDate = String.valueOf(selectedDayOfMonth) + '-' + (selectedMonth + 1) + '-' + selectedYear;
108107

109108
// Compare selected date with current date
110109
Calendar selectedCalendar = Calendar.getInstance();
@@ -127,10 +126,11 @@ public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int
127126
// Show the DatePickerDialog
128127
datePickerDialog.show();
129128
}
130-
public void changeTime(View v){
129+
130+
public void changeTime(View v) {
131131
Calendar calendar = Calendar.getInstance();
132132
int hour = calendar.get(Calendar.HOUR_OF_DAY);
133-
int minutes = calendar.get(calendar.MINUTE);
133+
int minutes = calendar.get(Calendar.MINUTE);
134134
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
135135
@Override
136136
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
@@ -141,10 +141,9 @@ public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
141141
selectedTime.set(Calendar.MINUTE, minute);
142142

143143
String amPm;
144-
if(hourOfDay>=12){
144+
if (hourOfDay >= 12) {
145145
amPm = "PM";
146-
}
147-
else{
146+
} else {
148147
amPm = "AM";
149148
}
150149

@@ -153,39 +152,47 @@ public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
153152
// Prompt user to select a future time
154153
// Show message
155154
AlertDialog.Builder builder = new AlertDialog.Builder(ModifyTaskActivity.this);
156-
builder.setTitle("Incorrect Info").setMessage(hourOfDay+":"+minute+amPm+" has passed buddy!");
155+
builder.setTitle("Incorrect Info").setMessage(hourOfDay + ":" + minute + amPm + " has passed buddy!");
157156
builder.show();
158157
} else {
159-
((TextView)findViewById(R.id.timeView)).setText((hourOfDay%12)+":"+minute+" "+amPm);
158+
((TextView) findViewById(R.id.timeView)).setText((hourOfDay % 12) + ":" + minute + " " + amPm);
160159
}
161160
}
162161
}, hour, minutes, false);
163162
timePickerDialog.show();
164163
}
165-
public void returnToMain(View v){
166-
Intent i = new Intent(this,MainActivity.class);
167-
startActivity(i);
164+
165+
public void returnToMain(View v)
166+
{
167+
finish();
168168
}
169-
public void save(View v){
169+
170+
public void save(View v) {
170171
String name = nameView.getText().toString().trim();
171172
String description = descriptionView.getText().toString();
172-
String priority = prioritySpinner.getSelectedItem().toString();
173-
Log.d("success",priority);
174-
String date = dateView.getText().toString();
175-
Log.d("success",date);
176-
String time = timeView.getText().toString();
177-
Log.d("success",time);
178-
if(name.equals("")){
173+
174+
if (name.isEmpty()) {
179175
AlertDialog.Builder builder = new AlertDialog.Builder(ModifyTaskActivity.this);
180176
builder.setTitle("Incorrect Info")
181177
.setMessage("Please enter task name");
182178
builder.show();
183-
}
184-
else {
185-
String saved = "Your Task \"" + nameView.getText().toString().trim() + "\" has been saved Successfully!";
186-
Toast.makeText(this, saved, Toast.LENGTH_SHORT).show();
187-
Intent i = new Intent(this, MainActivity.class);
188-
startActivity(i);
179+
} else if (description.isEmpty()) {
180+
AlertDialog.Builder builder = new AlertDialog.Builder(ModifyTaskActivity.this);
181+
builder.setTitle("Incorrect Info")
182+
.setMessage("Please enter task description");
183+
builder.show();
184+
} else {
185+
task.setTitle(name);
186+
task.setDescription(description);
187+
task.setCurrentDate(dateView.getText().toString());
188+
task.setCurrentTime(timeView.getText().toString());
189+
task.setCurrentPriority(prioritySpinner.getSelectedItem().toString());
190+
191+
RoomDB instance = RoomDB.getInstance(this);
192+
193+
new Thread(() -> instance.taskDAO().updateTask(task)).start();
194+
195+
finish();
189196
}
190197
}
191198
}

0 commit comments

Comments
 (0)