Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /