Skip to content

Commit c5b3fff

Browse files
Smart Alarm
1 parent 6124537 commit c5b3fff

File tree

3 files changed

+68
-4
lines changed

3 files changed

+68
-4
lines changed

app/src/main/java/it/ezzie/smartalarm/EditAlarm.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,61 @@
77
import androidx.core.graphics.Insets;
88
import androidx.core.view.ViewCompat;
99
import androidx.core.view.WindowInsetsCompat;
10+
import androidx.room.Room;
1011

12+
import java.util.Calendar;
13+
14+
import it.ezzie.smartalarm.Data_Access_Object.AlarmDAO;
15+
import it.ezzie.smartalarm.Database.AppDatabase;
16+
import it.ezzie.smartalarm.Entity.AlarmEntity;
1117
import it.ezzie.smartalarm.databinding.ActivityEditAlarmBinding;
1218

1319
public class EditAlarm extends AppCompatActivity {
1420
private ActivityEditAlarmBinding binding;
21+
private AlarmDAO alarmDAO;
22+
private Calendar calendar = Calendar.getInstance();
1523
@Override
1624
protected void onCreate(Bundle savedInstanceState) {
1725
super.onCreate(savedInstanceState);
1826
EdgeToEdge.enable(this);
1927
binding = ActivityEditAlarmBinding.inflate(getLayoutInflater());
2028
setContentView(binding.getRoot());
29+
initDatabase();
30+
initData();
31+
initListener();
32+
}
33+
34+
private void initDatabase() {
35+
var databaseBuilder = AppDatabase.getInstance(this);
36+
alarmDAO = databaseBuilder.alarmDAO();
37+
alarmDAO.getAllAlarms();
38+
}
39+
private void initData(){
40+
binding.timePicker.setOnTimeChangedListener((view, hourOfDay, minute) -> {
41+
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
42+
calendar.set(Calendar.MINUTE,minute);
43+
44+
int currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
45+
int currentMinute = Calendar.getInstance().get(Calendar.MINUTE);
46+
int totalCurrentMinute = currentHour * 60 + currentMinute;
47+
int totalSelectedMinute = hourOfDay * 60 + minute;
48+
int totalResultMinute = totalSelectedMinute - totalCurrentMinute;
49+
int resultHour = totalResultMinute / 60;
50+
int resultMinute = totalResultMinute % 60;
51+
if(totalResultMinute < 0){
52+
resultHour = -resultHour;
53+
resultMinute = -resultMinute;
54+
}
55+
binding.hour.setText(String.valueOf(resultHour));
56+
binding.minute.setText(String.format("%02d",resultMinute));
57+
});
58+
}
59+
private void initListener(){
60+
binding.btnCancel.setOnClickListener(v -> {
61+
finish();
62+
});
63+
binding.btnOK.setOnClickListener(v -> {
2164

65+
});
2266
}
2367
}

app/src/main/java/it/ezzie/smartalarm/MainActivity.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import android.app.AlertDialog;
44
import android.app.TimePickerDialog;
5+
import android.content.Intent;
56
import android.os.Bundle;
67

78
import androidx.activity.EdgeToEdge;
9+
import androidx.annotation.Nullable;
810
import androidx.appcompat.app.AppCompatActivity;
911
import androidx.recyclerview.widget.LinearLayoutManager;
1012

@@ -28,6 +30,7 @@ public class MainActivity extends AppCompatActivity {
2830
private Calendar calendar = Calendar.getInstance();
2931
private int resultHour;
3032
private int resultMinute;
33+
private static final int CREATE_REQUEST_CODE = 123;
3134
@Override
3235
protected void onCreate(Bundle savedInstanceState) {
3336
super.onCreate(savedInstanceState);
@@ -37,7 +40,7 @@ protected void onCreate(Bundle savedInstanceState) {
3740
initDatabase();
3841
initUI();
3942
// initDialog();
40-
// initListener();
43+
initListener();
4144
}
4245

4346
private void initDatabase() {
@@ -90,6 +93,20 @@ private void initUI(){
9093
// alertDialog.cancel();
9194
// });
9295
// }
96+
private void initListener(){
97+
binding.floatingBtn.setOnClickListener(v -> {
98+
Intent intent = new Intent(this, EditAlarm.class);
99+
startActivityForResult(intent,CREATE_REQUEST_CODE);
100+
});
101+
}
93102

103+
@Override
104+
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
105+
super.onActivityResult(requestCode, resultCode, data);
106+
if(requestCode == CREATE_REQUEST_CODE && resultCode == RESULT_OK){
107+
if(data != null){
94108

109+
}
110+
}
111+
}
95112
}

app/src/main/res/layout/activity_edit_alarm.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
android:fontFamily="@font/mulish_regular"
2020
android:textStyle="bold"
2121
android:textSize="20dp"
22-
android:layout_marginTop="10dp"/>
22+
android:layout_marginTop="50dp"/>
2323

2424

2525

@@ -77,7 +77,8 @@
7777
android:layout_width="wrap_content"
7878
android:layout_height="wrap_content"
7979
app:layout_constraintTop_toBottomOf="@id/linearAlarm"
80-
android:layout_marginTop="20dp"
80+
android:layout_marginTop="100dp"
81+
android:layout_marginBottom="40dp"
8182
android:timePickerMode="spinner"
8283
app:layout_constraintStart_toStartOf="parent"
8384
app:layout_constraintEnd_toEndOf="parent"/>
@@ -86,7 +87,9 @@
8687
android:id="@+id/editLabel"
8788
android:layout_width="match_parent"
8889
android:layout_height="wrap_content"
89-
app:layout_constraintTop_toBottomOf="@id/timePicker">
90+
app:layout_constraintTop_toBottomOf="@id/timePicker"
91+
app:layout_constraintBottom_toBottomOf="parent"
92+
android:layout_marginBottom="150dp">
9093

9194
<com.google.android.material.textfield.TextInputEditText
9295
android:layout_width="match_parent"

0 commit comments

Comments
 (0)