77import androidx .core .graphics .Insets ;
88import androidx .core .view .ViewCompat ;
99import 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 ;
1117import it .ezzie .smartalarm .databinding .ActivityEditAlarmBinding ;
1218
1319public 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}
0 commit comments