Skip to content

Commit f9b5cd5

Browse files
Smart Alarm
1 parent 9755be0 commit f9b5cd5

File tree

6 files changed

+52
-15
lines changed

6 files changed

+52
-15
lines changed

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

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

3-
import android.view.View;
3+
import android.content.Context;
4+
import android.view.LayoutInflater;
45
import android.view.ViewGroup;
5-
66
import androidx.annotation.NonNull;
77
import androidx.recyclerview.widget.RecyclerView;
8+
import java.util.List;
9+
import it.ezzie.smartalarm.Entity.AlarmEntity;
10+
import it.ezzie.smartalarm.databinding.AdapterAlarmBinding;
811

912
public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.AlarmViewHolder> {
10-
public AlarmAdapter(){
11-
13+
private Context context;
14+
private List<AlarmEntity> alarmList;
15+
public AlarmAdapter(Context context , List<AlarmEntity> alarmList){
16+
this.context = context;
17+
this.alarmList = alarmList;
1218
}
19+
1320

1421
public class AlarmViewHolder extends RecyclerView.ViewHolder{
15-
16-
public AlarmViewHolder(@NonNull View itemView) {
17-
super(itemView);
22+
private AdapterAlarmBinding binding;
23+
public AlarmViewHolder(AdapterAlarmBinding binding) {
24+
super(binding.getRoot());
25+
this.binding = binding;
1826
}
1927
}
2028

2129
@NonNull
2230
@Override
2331
public AlarmViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
24-
return null;
32+
var binding = AdapterAlarmBinding.inflate(LayoutInflater.from(parent.getContext()),parent,false);
33+
return new AlarmViewHolder(binding);
2534
}
2635

2736
@Override
2837
public void onBindViewHolder(@NonNull AlarmViewHolder holder, int position) {
29-
38+
var alarm = alarmList.get(position);
39+
holder.binding.alarmTime.setText(alarm.getAlarmTime());
40+
holder.binding.alarmLabel.setText(alarm.getAlarmLabel());
3041
}
3142

3243
@Override
3344
public int getItemCount() {
34-
return 0;
45+
return alarmList.size();
3546
}
3647

3748

app/src/main/java/it/ezzie/smartalarm/Data_Access_Object/AlarmDAO.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
@Dao
1414
public interface AlarmDAO {
1515
@Insert
16-
void createAlarm();
16+
void createAlarm(AlarmEntity alarm);
1717
@Update
18-
void updateAlarm();
18+
void updateAlarm(AlarmEntity alarm);
1919
@Delete
20-
void deleteAlarm();
20+
void deleteAlarm(AlarmEntity alarm);
2121
@Query("SELECT * FROM Alarms")
2222
List<AlarmEntity> getAllAlarms();
2323
}

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import androidx.room.ColumnInfo;
44
import androidx.room.Entity;
5+
import androidx.room.Ignore;
56
import androidx.room.PrimaryKey;
67

78
@Entity(tableName = "Alarms")
@@ -13,6 +14,19 @@ public class AlarmEntity {
1314
@ColumnInfo(name = "Label")
1415
private String alarmLabel;
1516

17+
public AlarmEntity(){
18+
19+
}
20+
@Ignore
21+
public AlarmEntity( String alarmTime){
22+
this.alarmTime = alarmTime;
23+
}
24+
@Ignore
25+
public AlarmEntity( String alarmTime, String alarmLabel){
26+
this.alarmTime = alarmTime;
27+
this.alarmLabel = alarmLabel;
28+
}
29+
1630
public int getId() {
1731
return id;
1832
}

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import androidx.core.graphics.Insets;
88
import androidx.core.view.ViewCompat;
99
import androidx.core.view.WindowInsetsCompat;
10+
import androidx.recyclerview.widget.LinearLayoutManager;
1011

1112
import java.util.List;
1213

@@ -19,19 +20,28 @@ public class MainActivity extends AppCompatActivity {
1920
private ActivityMainBinding binding;
2021
private List<AlarmEntity> alarmList;
2122
private AlarmDAO alarmDAO;
23+
private AlarmAdapter alarmAdapter;
2224

2325
@Override
2426
protected void onCreate(Bundle savedInstanceState) {
2527
super.onCreate(savedInstanceState);
2628
EdgeToEdge.enable(this);
2729
binding = ActivityMainBinding.inflate(getLayoutInflater());
2830
setContentView(binding.getRoot());
31+
initUI();
2932
initDatabase();
3033
}
3134

3235
private void initDatabase() {
3336
var db = AppDatabase.getInstance(this);
3437
alarmDAO = db.alarmDAO();
38+
alarmDAO.createAlarm(new AlarmEntity("4:00","Wake UP"));
39+
// alarmList = alarmDAO.getAllAlarms();
40+
}
41+
private void initUI(){
42+
alarmAdapter = new AlarmAdapter(this,alarmList);
43+
binding.recyclerView.setAdapter(alarmAdapter);
44+
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
3545
}
3646

3747
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
android:paddingTop="10dp"/>
3737

3838
<androidx.recyclerview.widget.RecyclerView
39+
android:id="@+id/recyclerView"
3940
android:layout_width="match_parent"
4041
android:layout_height="0dp"
4142
tools:listitem="@layout/adapter_alarm"

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
android:layout_marginStart="40dp"/>
2121

2222
<TextView
23+
android:id="@+id/alarmLabel"
2324
android:layout_width="wrap_content"
2425
android:layout_height="wrap_content"
2526
android:text="Add Label"
@@ -32,7 +33,7 @@
3233
android:layout_marginBottom="10dp"/>
3334

3435
<TextView
35-
android:id="@+id/ampm"
36+
android:id="@+id/alarmUnit"
3637
android:layout_width="wrap_content"
3738
android:layout_height="wrap_content"
3839
android:text="AM"
@@ -49,7 +50,7 @@
4950
android:layout_height="35dp"
5051
android:layout_marginStart="10dp"
5152
android:src="@drawable/ic_sun"
52-
app:layout_constraintBottom_toTopOf="@id/ampm"
53+
app:layout_constraintBottom_toTopOf="@id/alarmUnit"
5354
app:layout_constraintStart_toEndOf="@id/alarmTime" />
5455

5556
<com.google.android.material.materialswitch.MaterialSwitch

0 commit comments

Comments
 (0)