Skip to content

Commit b48ebcc

Browse files
Smart Alarm
1 parent 09c41d6 commit b48ebcc

File tree

4 files changed

+57
-13
lines changed

4 files changed

+57
-13
lines changed

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

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,29 @@
11
package it.ezzie.smartalarm;
22

3-
import android.app.TimePickerDialog;
4-
import android.content.Intent;
3+
import android.app.AlertDialog;
54
import android.os.Bundle;
6-
import android.widget.TimePicker;
75

86
import androidx.activity.EdgeToEdge;
97
import androidx.appcompat.app.AppCompatActivity;
10-
import androidx.core.graphics.Insets;
11-
import androidx.core.view.ViewCompat;
12-
import androidx.core.view.WindowInsetsCompat;
138
import androidx.recyclerview.widget.LinearLayoutManager;
149

1510
import java.text.SimpleDateFormat;
1611
import java.util.Calendar;
1712
import java.util.List;
18-
import java.util.Locale;
1913

2014
import it.ezzie.smartalarm.Data_Access_Object.AlarmDAO;
2115
import it.ezzie.smartalarm.Database.AppDatabase;
2216
import it.ezzie.smartalarm.Entity.AlarmEntity;
17+
import it.ezzie.smartalarm.databinding.ActivityEditAlarmBinding;
2318
import it.ezzie.smartalarm.databinding.ActivityMainBinding;
2419

2520
public 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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<shape xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:shape="rectangle">
4+
<solid android:color="@color/white"/>
5+
<corners android:radius="30dp"/>
6+
</shape>

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

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:id="@+id/main"
6-
android:background="@color/white"
6+
android:background="@drawable/bg_list"
77
android:layout_width="match_parent"
88
android:layout_height="match_parent"
99
tools:context=".EditAlarm">
@@ -39,6 +39,7 @@
3939
android:textSize="16dp"/>
4040

4141
<TextView
42+
android:id="@+id/hour"
4243
android:layout_width="wrap_content"
4344
android:layout_height="wrap_content"
4445
android:text="9"
@@ -53,6 +54,7 @@
5354
android:textSize="16dp"/>
5455

5556
<TextView
57+
android:id="@+id/minute"
5658
android:layout_width="wrap_content"
5759
android:layout_height="wrap_content"
5860
android:text="16"
@@ -70,6 +72,7 @@
7072
</LinearLayout>
7173

7274
<TimePicker
75+
android:id="@+id/timePicker"
7376
android:layout_width="wrap_content"
7477
android:layout_height="wrap_content"
7578
app:layout_constraintTop_toBottomOf="@id/linearAlarm"
@@ -80,12 +83,27 @@
8083

8184
<LinearLayout
8285
android:layout_width="wrap_content"
83-
android:layout_height="wrap_content">
86+
android:layout_height="wrap_content"
87+
app:layout_constraintTop_toBottomOf="@id/timePicker"
88+
app:layout_constraintEnd_toEndOf="parent"
89+
android:layout_marginTop="10dp">
8490

8591
<com.google.android.material.button.MaterialButton
92+
android:id="@+id/btnCancel"
8693
android:layout_width="wrap_content"
8794
android:layout_height="wrap_content"
88-
95+
android:backgroundTint="@color/error"
96+
android:text="Cancel"/>
97+
98+
<com.google.android.material.button.MaterialButton
99+
android:id="@+id/btnOK"
100+
android:layout_width="wrap_content"
101+
android:layout_height="wrap_content"
102+
android:layout_marginStart="15dp"
103+
android:layout_marginEnd="10dp"
104+
android:backgroundTint="@color/greenDark"
105+
android:text="OK"/>
106+
89107
</LinearLayout>
90108

91109

app/src/main/res/values/colors.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
<color name="grey1">#BDBDBD</color>
88
<color name="greenDark">#3a693a</color>
99
<color name="greenLight">#bbf0b5</color>
10+
<color name="error">#ba1a1a</color>
1011
</resources>

0 commit comments

Comments
 (0)