Skip to content

Commit 572f055

Browse files
Smart Alarm
1 parent 6b509b1 commit 572f055

File tree

5 files changed

+85
-21
lines changed

5 files changed

+85
-21
lines changed

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ public AlarmAdapter(Context context , List<AlarmEntity> alarmList){
2828
this.alarmList = alarmList;
2929
}
3030

31+
public void setAlarm(List<AlarmEntity> alarmList) {
32+
this.alarmList = alarmList;
33+
this.notifyDataSetChanged();
34+
}
35+
3136
public class AlarmViewHolder extends RecyclerView.ViewHolder{
3237
private AdapterAlarmBinding binding;
3338
public AlarmViewHolder(AdapterAlarmBinding binding) {
@@ -53,16 +58,19 @@ public void onBindViewHolder(@NonNull AlarmViewHolder holder, int position) {
5358
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
5459
calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
5560
calendar.set(Calendar.MINUTE,minute);
56-
var formattedTime = new SimpleDateFormat("HH:mm").format(calendar.getTime());
61+
// var formattedTime = new SimpleDateFormat("HH:mm").format(calendar.getTime());
62+
// var formattedHour = new SimpleDateFormat("HH").format(calendar.getTime());
63+
// var formattedMinute = new SimpleDateFormat("mm").format(calendar.getTime());
5764
var formattedUnit = new SimpleDateFormat("a").format(calendar.getTime());
58-
holder.binding.alarmTime.setText(formattedTime);
5965
holder.binding.alarmUnit.setText(formattedUnit.toUpperCase());
6066
}
6167
};
6268
new TimePickerDialog(context,timepick, calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),false).show();
6369

6470
});
6571
holder.binding.alarmLabel.setText(alarm.getAlarmLabel());
72+
holder.binding.alarmHour.setText(alarm.getAlarmHour());
73+
holder.binding.alarmMinute.setText(alarm.getAlarmMinute());
6674
}
6775

6876
@Override

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,11 @@ private void initData(){
6565

6666
//OK Button
6767
binding.btnOK.setOnClickListener(v -> {
68-
AlarmEntity alarm = new AlarmEntity()
69-
Intent intent = new Intent(this, MainActivity.class)
68+
AlarmEntity alarm = new AlarmEntity(String.valueOf(hourOfDay),String.valueOf(minute),label);
69+
Intent intent = new Intent(this, MainActivity.class);
70+
intent.putExtra("alarm",alarm);
71+
setResult(RESULT_OK,intent);
72+
finish();
7073
});
7174
});
7275
}

app/src/main/java/it/ezzie/smartalarm/Entity/AlarmEntity.java

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,31 @@
55
import androidx.room.Ignore;
66
import androidx.room.PrimaryKey;
77

8+
import java.io.Serializable;
9+
810
@Entity(tableName = "Alarms")
9-
public class AlarmEntity {
11+
public class AlarmEntity implements Serializable {
1012
@PrimaryKey(autoGenerate = true)
1113
private int id;
12-
@ColumnInfo(name = "Time")
13-
private String alarmTime;
14+
@ColumnInfo(name = "Hour")
15+
private String alarmHour;
16+
@ColumnInfo(name = "Minute")
17+
private String alarmMinute;
1418
@ColumnInfo(name = "Label")
1519
private String alarmLabel;
1620

1721
public AlarmEntity(){
1822

1923
}
2024
@Ignore
21-
public AlarmEntity( String alarmTime){
22-
this.alarmTime = alarmTime;
25+
public AlarmEntity( String alarmHour, String alarmMinute){
26+
this.alarmHour = alarmHour;
27+
this.alarmMinute = alarmMinute;
2328
}
2429
@Ignore
25-
public AlarmEntity( String alarmTime, String alarmLabel){
26-
this.alarmTime = alarmTime;
30+
public AlarmEntity( String alarmHour, String alarmMinute, String alarmLabel){
31+
this.alarmHour = alarmHour;
32+
this.alarmMinute = alarmMinute;
2733
this.alarmLabel = alarmLabel;
2834
}
2935

@@ -35,12 +41,20 @@ public void setId(int id) {
3541
this.id = id;
3642
}
3743

38-
public String getAlarmTime() {
39-
return alarmTime;
44+
public String getAlarmHour() {
45+
return alarmHour;
46+
}
47+
48+
public void setAlarmHour(String alarmHour) {
49+
this.alarmHour = alarmHour;
50+
}
51+
52+
public String getAlarmMinute() {
53+
return alarmMinute;
4054
}
4155

42-
public void setAlarmTime(String alarmTime) {
43-
this.alarmTime = alarmTime;
56+
public void setAlarmMinute(String alarmMinute) {
57+
this.alarmMinute = alarmMinute;
4458
}
4559

4660
public String getAlarmLabel() {

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,15 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
105105
super.onActivityResult(requestCode, resultCode, data);
106106
if(requestCode == CREATE_REQUEST_CODE && resultCode == RESULT_OK){
107107
if(data != null){
108-
108+
AlarmEntity alarm = (AlarmEntity) data.getSerializableExtra("alarm");
109+
alarmDAO.createAlarm(alarm);
110+
refreshView();
109111
}
110112
}
111113
}
114+
115+
private void refreshView() {
116+
alarmList = alarmDAO.getAllAlarms();
117+
alarmAdapter.setAlarm();
118+
}
112119
}

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

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,50 @@
66
android:layout_margin="10dp"
77
android:background="@drawable/bg_list">
88

9-
<TextView
9+
<LinearLayout
1010
android:id="@+id/alarmTime"
1111
android:layout_width="wrap_content"
1212
android:layout_height="wrap_content"
1313
app:layout_constraintTop_toTopOf="parent"
1414
app:layout_constraintStart_toStartOf="parent"
15-
android:text="01:00"
15+
android:layout_marginStart="40dp"
16+
android:layout_marginTop="30dp">
17+
18+
<TextView
19+
android:id="@+id/alarmHour"
20+
android:layout_width="wrap_content"
21+
android:layout_height="wrap_content"
22+
app:layout_constraintTop_toTopOf="parent"
23+
app:layout_constraintStart_toStartOf="parent"
24+
android:text="01"
1625
android:textSize="40dp"
1726
android:fontFamily="@font/mulish_regular"
18-
android:gravity="center_vertical"
19-
android:layout_marginStart="40dp"
20-
android:layout_marginTop="30dp"/>
27+
android:gravity="center_vertical"/>
28+
29+
<TextView
30+
android:id="@+id/alarmColumn"
31+
android:layout_width="wrap_content"
32+
android:layout_height="wrap_content"
33+
android:text=":"
34+
android:textSize="40dp"
35+
app:layout_constraintBottom_toBottomOf="@+id/alarmHour"
36+
app:layout_constraintTop_toTopOf="@+id/alarmHour"
37+
app:layout_constraintStart_toEndOf="@id/alarmHour"/>
38+
39+
40+
<TextView
41+
android:id="@+id/alarmMinute"
42+
android:layout_width="wrap_content"
43+
android:layout_height="wrap_content"
44+
app:layout_constraintTop_toTopOf="@id/alarmHour"
45+
app:layout_constraintBottom_toBottomOf="@id/alarmHour"
46+
app:layout_constraintStart_toEndOf="@id/alarmColumn"
47+
android:text="00"
48+
android:textSize="40dp"
49+
android:fontFamily="@font/mulish_regular"
50+
android:gravity="center_vertical" />
51+
52+
</LinearLayout>
2153

2254
<TextView
2355
android:id="@+id/alarmLabel"

0 commit comments

Comments
 (0)