diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 9c96b2b..0c0c338 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -2,9 +2,6 @@ - - - diff --git a/app/src/main/java/com/example/taskmanager/Activity/ModifyTaskActivity.java b/app/src/main/java/com/example/taskmanager/Activity/ModifyTaskActivity.java index 567dc38..f1ac569 100644 --- a/app/src/main/java/com/example/taskmanager/Activity/ModifyTaskActivity.java +++ b/app/src/main/java/com/example/taskmanager/Activity/ModifyTaskActivity.java @@ -7,6 +7,7 @@ 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; @@ -15,11 +16,18 @@ 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.text.ParseException; import java.time.LocalDate; import java.util.Calendar; +import java.text.SimpleDateFormat; +import java.util.Date; + public class ModifyTaskActivity extends AppCompatActivity { private static TextView titleLb; @@ -135,10 +143,18 @@ public void changeTime(View v) { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Calendar selectedTime = Calendar.getInstance(); - // TO DO: - // USE DATE STORED HERE - selectedTime.set(Calendar.HOUR_OF_DAY, hourOfDay); - selectedTime.set(Calendar.MINUTE, minute); + try{ + String selectedDate = ((TextView)findViewById(R.id.dateView)).getText().toString(); + // Define the date format to match the string + SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy"); + Date date = sdf.parse(selectedDate); + selectedTime.setTime(date); + selectedTime.set(Calendar.HOUR_OF_DAY, hourOfDay); + selectedTime.set(Calendar.MINUTE, minute); + Log.i("timechange",selectedTime.getTime().toString()); + } catch (ParseException e) { + e.printStackTrace(); + } String amPm; if (hourOfDay >= 12) { @@ -152,7 +168,7 @@ 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%12) + ":" + minute + amPm + " has passed buddy!"); builder.show(); } else { ((TextView) findViewById(R.id.timeView)).setText((hourOfDay % 12) + ":" + minute + " " + amPm); @@ -190,6 +206,9 @@ public void save(View v) { RoomDB instance = RoomDB.getInstance(this); + Toast.makeText(getApplicationContext(),"Your task \""+name+"\" has been saved successfully!" + , Toast.LENGTH_SHORT).show(); + new Thread(() -> instance.taskDAO().updateTask(task)).start(); finish(); diff --git a/app/src/main/java/com/example/taskmanager/service/ForegroundService.java b/app/src/main/java/com/example/taskmanager/service/ForegroundService.java index ae75fe3..4c8a652 100644 --- a/app/src/main/java/com/example/taskmanager/service/ForegroundService.java +++ b/app/src/main/java/com/example/taskmanager/service/ForegroundService.java @@ -1,7 +1,5 @@ package com.example.taskmanager.service; -import static androidx.core.content.ContentProviderCompat.requireContext; - import android.app.Notification; import android.app.NotificationChannel; import android.app.NotificationManager; @@ -14,25 +12,14 @@ import android.util.Log; import androidx.core.app.NotificationCompat; -import androidx.lifecycle.LifecycleOwner; - -import com.example.taskmanager.Database.RoomDB; -import com.example.taskmanager.Utility.TaskModel; - -import java.util.List; public class ForegroundService extends Service { private static final String CHANNEL_ID = "notification_channel"; - private RoomDB instance; - - private static List tasks; - @Override public void onCreate() { super.onCreate(); - instance = RoomDB.getInstance(getApplicationContext()); } @Override @@ -46,15 +33,9 @@ public int onStartCommand(Intent intent, int flags, int startId) { .build(); startForeground(1, notification); timer.start(); - instance.taskDAO().getAllOngoingTasks().observeForever( ForegroundService::updateTasks); return START_STICKY; } - private static void updateTasks(List taskModels) { - Log.wtf("foreground", "update tasks called"); - tasks = taskModels; - } - public static void startService (Context context) { Intent i = new Intent(context, ForegroundService.class); context.startForegroundService(i); @@ -76,18 +57,6 @@ public void onTick(long millisUntilFinished) { public void onFinish() { //generate the notifications Log.wtf("notificationz", "test"); - for(TaskModel task: tasks){ - if (task.getCurrentPriority().contains("Low")){ - //check deadline if multiple of 24 hours remaining send a notification - - } else if (task.getCurrentPriority().contains("Medium")){ - //check deadline if multiple of 5 hours remaining send a notification - - } else if (task.getCurrentPriority().contains("High")) { - //check deadline if multiple of 1 hours remaining send a notification - } - } - start(); } };