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