11package it .ezzie .smartalarm ;
22
3- import android .app .TimePickerDialog ;
4- import android .content .Intent ;
3+ import android .app .AlertDialog ;
54import android .os .Bundle ;
6- import android .widget .TimePicker ;
75
86import androidx .activity .EdgeToEdge ;
97import androidx .appcompat .app .AppCompatActivity ;
10- import androidx .core .graphics .Insets ;
11- import androidx .core .view .ViewCompat ;
12- import androidx .core .view .WindowInsetsCompat ;
138import androidx .recyclerview .widget .LinearLayoutManager ;
149
1510import java .text .SimpleDateFormat ;
1611import java .util .Calendar ;
1712import java .util .List ;
18- import java .util .Locale ;
1913
2014import it .ezzie .smartalarm .Data_Access_Object .AlarmDAO ;
2115import it .ezzie .smartalarm .Database .AppDatabase ;
2216import it .ezzie .smartalarm .Entity .AlarmEntity ;
17+ import it .ezzie .smartalarm .databinding .ActivityEditAlarmBinding ;
2318import it .ezzie .smartalarm .databinding .ActivityMainBinding ;
2419
2520public class MainActivity extends AppCompatActivity {
2621 private ActivityMainBinding binding ;
2722 private List <AlarmEntity > alarmList ;
2823 private AlarmDAO alarmDAO ;
2924 private AlarmAdapter alarmAdapter ;
30-
25+ private AlertDialog alertDialog ;
26+ private Calendar calendar ;
3127
3228 @ Override
3329 protected void onCreate (Bundle savedInstanceState ) {
@@ -37,6 +33,7 @@ protected void onCreate(Bundle savedInstanceState) {
3733 setContentView (binding .getRoot ());
3834 initDatabase ();
3935 initUI ();
36+ initDialog ();
4037 }
4138
4239 private void initDatabase () {
@@ -50,10 +47,32 @@ private void initUI(){
5047 binding .recyclerView .setAdapter (alarmAdapter );
5148 binding .recyclerView .setLayoutManager (new LinearLayoutManager (this ));
5249 }
53- private void initListener (){
50+ private void initDialog (){
51+ //Floating Btn
52+ var dialogBinding = ActivityEditAlarmBinding .inflate (getLayoutInflater ());
5453 binding .floatingBtn .setOnClickListener (v -> {
55- // Intent intent = new Intent(this,)
54+ AlertDialog .Builder builder = new AlertDialog .Builder (this );
55+ alertDialog = builder .setView (dialogBinding .getRoot ())
56+ .setCancelable (false )
57+ .create ();
58+ alertDialog .setOnShowListener (dialog -> {
59+ alertDialog .getWindow ().setBackgroundDrawableResource (R .drawable .bg_dialog );
60+ });
61+ alertDialog .show ();
62+ });
63+ dialogBinding .btnCancel .setOnClickListener (v -> {
64+ alertDialog .cancel ();
5665 });
66+
67+ dialogBinding .timePicker .setOnTimeChangedListener ((view , hourOfDay , minute ) -> {
68+ calendar .set (Calendar .HOUR_OF_DAY ,hourOfDay );
69+ calendar .set (Calendar .MINUTE ,minute );
70+ var formattedHour = new SimpleDateFormat ("HH" ).format (calendar .getTime ());
71+ var formattedMinute = new SimpleDateFormat ("mm" ).format (calendar .getTime ());
72+ dialogBinding .hour .setText (formattedHour .toString ());
73+ dialogBinding .minute .setText (formattedMinute .toString ());
74+ });
75+
5776 }
5877
5978
0 commit comments