Skip to content

Commit 99ac985

Browse files
Smart Alarm
1 parent 8ab9531 commit 99ac985

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

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

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
package it.ezzie.smartalarm;
22

3+
import android.app.TimePickerDialog;
34
import android.content.Context;
45
import android.view.LayoutInflater;
56
import android.view.ViewGroup;
7+
import android.widget.TimePicker;
8+
69
import androidx.annotation.NonNull;
710
import androidx.recyclerview.widget.RecyclerView;
811

12+
import java.text.SimpleDateFormat;
913
import java.util.ArrayList;
14+
import java.util.Calendar;
1015
import java.util.List;
16+
import java.util.Locale;
17+
1118
import it.ezzie.smartalarm.Entity.AlarmEntity;
1219
import it.ezzie.smartalarm.databinding.AdapterAlarmBinding;
1320

1421
public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.AlarmViewHolder> {
1522
private Context context;
1623
private List<AlarmEntity> alarmList;
24+
private Calendar calendar = Calendar.getInstance();
1725

1826
public AlarmAdapter(Context context , List<AlarmEntity> alarmList){
1927
this.context = context;
@@ -38,7 +46,22 @@ public AlarmViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewTyp
3846
@Override
3947
public void onBindViewHolder(@NonNull AlarmViewHolder holder, int position) {
4048
var alarm = alarmList.get(position);
41-
holder.binding.alarmTime.setText(alarm.getAlarmTime());
49+
//InitTimePick
50+
holder.binding.alarmTime.setOnClickListener(v -> {
51+
TimePickerDialog.OnTimeSetListener timepick = new TimePickerDialog.OnTimeSetListener() {
52+
@Override
53+
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
54+
calendar.set(Calendar.HOUR_OF_DAY,hourOfDay);
55+
calendar.set(Calendar.MINUTE,minute);
56+
var formattedTime = new SimpleDateFormat("HH:mm").format(calendar.getTime());
57+
var formattedUnit = new SimpleDateFormat("aa").format(calendar.getTime());
58+
holder.binding.alarmTime.setText(formattedTime);
59+
holder.binding.alarmUnit.setText(formattedUnit);
60+
}
61+
};
62+
new TimePickerDialog(context,timepick, calendar.get(Calendar.HOUR_OF_DAY),calendar.get(Calendar.MINUTE),false).show();
63+
64+
});
4265
holder.binding.alarmLabel.setText(alarm.getAlarmLabel());
4366
}
4467

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package it.ezzie.smartalarm;
22

3+
import android.app.TimePickerDialog;
4+
import android.content.Intent;
35
import android.os.Bundle;
6+
import android.widget.TimePicker;
47

58
import androidx.activity.EdgeToEdge;
69
import androidx.appcompat.app.AppCompatActivity;
@@ -9,7 +12,10 @@
912
import androidx.core.view.WindowInsetsCompat;
1013
import androidx.recyclerview.widget.LinearLayoutManager;
1114

15+
import java.text.SimpleDateFormat;
16+
import java.util.Calendar;
1217
import java.util.List;
18+
import java.util.Locale;
1319

1420
import it.ezzie.smartalarm.Data_Access_Object.AlarmDAO;
1521
import it.ezzie.smartalarm.Database.AppDatabase;
@@ -22,6 +28,7 @@ public class MainActivity extends AppCompatActivity {
2228
private AlarmDAO alarmDAO;
2329
private AlarmAdapter alarmAdapter;
2430

31+
2532
@Override
2633
protected void onCreate(Bundle savedInstanceState) {
2734
super.onCreate(savedInstanceState);
@@ -43,5 +50,11 @@ private void initUI(){
4350
binding.recyclerView.setAdapter(alarmAdapter);
4451
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
4552
}
53+
private void initListener(){
54+
binding.floatingBtn.setOnClickListener(v -> {
55+
Intent intent = new Intent(this,)
56+
});
57+
}
58+
4659

4760
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
android:layout_marginEnd="5dp"/>
4747

4848
<com.google.android.material.floatingactionbutton.FloatingActionButton
49+
android:id="@+id/floatingBtn"
4950
android:layout_width="wrap_content"
5051
android:layout_height="wrap_content"
5152
app:layout_constraintBottom_toBottomOf="parent"

0 commit comments

Comments
 (0)