Skip to content

Commit 6124537

Browse files
Smart Alarm
1 parent b48ebcc commit 6124537

File tree

2 files changed

+105
-51
lines changed

2 files changed

+105
-51
lines changed
Lines changed: 46 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package it.ezzie.smartalarm;
22

33
import android.app.AlertDialog;
4+
import android.app.TimePickerDialog;
45
import android.os.Bundle;
56

67
import androidx.activity.EdgeToEdge;
@@ -10,6 +11,7 @@
1011
import java.text.SimpleDateFormat;
1112
import java.util.Calendar;
1213
import java.util.List;
14+
import java.util.Locale;
1315

1416
import it.ezzie.smartalarm.Data_Access_Object.AlarmDAO;
1517
import it.ezzie.smartalarm.Database.AppDatabase;
@@ -23,8 +25,9 @@ public class MainActivity extends AppCompatActivity {
2325
private AlarmDAO alarmDAO;
2426
private AlarmAdapter alarmAdapter;
2527
private AlertDialog alertDialog;
26-
private Calendar calendar;
27-
28+
private Calendar calendar = Calendar.getInstance();
29+
private int resultHour;
30+
private int resultMinute;
2831
@Override
2932
protected void onCreate(Bundle savedInstanceState) {
3033
super.onCreate(savedInstanceState);
@@ -33,7 +36,8 @@ protected void onCreate(Bundle savedInstanceState) {
3336
setContentView(binding.getRoot());
3437
initDatabase();
3538
initUI();
36-
initDialog();
39+
// initDialog();
40+
// initListener();
3741
}
3842

3943
private void initDatabase() {
@@ -47,33 +51,45 @@ private void initUI(){
4751
binding.recyclerView.setAdapter(alarmAdapter);
4852
binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
4953
}
50-
private void initDialog(){
51-
//Floating Btn
52-
var dialogBinding = ActivityEditAlarmBinding.inflate(getLayoutInflater());
53-
binding.floatingBtn.setOnClickListener(v -> {
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();
65-
});
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-
76-
}
54+
// private void initDialog(){
55+
// //Floating Btn
56+
// var dialogBinding = ActivityEditAlarmBinding.inflate(getLayoutInflater());
57+
// binding.floatingBtn.setOnClickListener(v -> {
58+
// AlertDialog.Builder builder = new AlertDialog.Builder(this);
59+
// alertDialog = builder.setView(dialogBinding.getRoot())
60+
// .setCancelable(false)
61+
// .create();
62+
// alertDialog.setOnShowListener(dialog -> {
63+
// alertDialog.getWindow().setBackgroundDrawableResource(R.drawable.bg_dialog);
64+
// });
65+
// alertDialog.show();
66+
// });
67+
//
68+
// dialogBinding.timePicker.setOnTimeChangedListener((view, hourOfDay, minute) -> {
69+
// calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
70+
// calendar.set(Calendar.MINUTE,minute);
71+
//
72+
// int currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
73+
// int currentMinute = Calendar.getInstance().get(Calendar.MINUTE);
74+
// int totalCurrentMinute = currentHour * 60 + currentMinute;
75+
// int totalSelectedMinute = hourOfDay * 60 + minute;
76+
// int totalResultMinute = totalSelectedMinute - totalCurrentMinute;
77+
// int resultHour = totalResultMinute / 60;
78+
// int resultMinute = totalResultMinute % 60;
79+
// if(totalResultMinute < 0){
80+
// resultHour = -resultHour;
81+
// resultMinute = -resultMinute;
82+
// }
83+
// dialogBinding.hour.setText(String.valueOf(resultHour));
84+
// dialogBinding.minute.setText(String.format("%02d",resultMinute));
85+
// });
86+
//
87+
// }
88+
// private void initListener(){
89+
// dialogBinding.btnCancel.setOnClickListener(v -> {
90+
// alertDialog.cancel();
91+
// });
92+
// }
7793

7894

7995
}

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

Lines changed: 59 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
android:layout_marginTop="10dp"/>
2323

2424

25+
2526
<LinearLayout
2627
android:id="@+id/linearAlarm"
2728
android:layout_width="match_parent"
@@ -80,31 +81,68 @@
8081
android:timePickerMode="spinner"
8182
app:layout_constraintStart_toStartOf="parent"
8283
app:layout_constraintEnd_toEndOf="parent"/>
83-
84-
<LinearLayout
84+
85+
<com.google.android.material.textfield.TextInputLayout
86+
android:id="@+id/editLabel"
87+
android:layout_width="match_parent"
88+
android:layout_height="wrap_content"
89+
app:layout_constraintTop_toBottomOf="@id/timePicker">
90+
91+
<com.google.android.material.textfield.TextInputEditText
92+
android:layout_width="match_parent"
93+
android:layout_height="match_parent"
94+
android:hint="Alarm Label"
95+
android:fontFamily="@font/mulish_regular"
96+
android:layout_margin="10dp"/>
97+
98+
</com.google.android.material.textfield.TextInputLayout>
99+
100+
<TextView
101+
android:id="@+id/ringtone"
85102
android:layout_width="wrap_content"
86103
android:layout_height="wrap_content"
87-
app:layout_constraintTop_toBottomOf="@id/timePicker"
88-
app:layout_constraintEnd_toEndOf="parent"
89-
android:layout_marginTop="10dp">
90-
91-
<com.google.android.material.button.MaterialButton
92-
android:id="@+id/btnCancel"
93-
android:layout_width="wrap_content"
94-
android:layout_height="wrap_content"
95-
android:backgroundTint="@color/error"
96-
android:text="Cancel"/>
104+
android:text="Ringtone"
105+
app:layout_constraintTop_toBottomOf="@id/editLabel"
106+
app:layout_constraintStart_toStartOf="parent"
107+
android:textSize="18dp"
108+
android:fontFamily="@font/mulish_regular"
109+
android:textStyle="bold"
110+
android:layout_margin="20dp"/>
97111

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"/>
112+
<TextView
113+
android:id="@+id/playingGod"
114+
android:layout_width="wrap_content"
115+
android:layout_height="wrap_content"
116+
android:text="Playing God"
117+
app:layout_constraintTop_toBottomOf="@id/ringtone"
118+
app:layout_constraintStart_toStartOf="parent"
119+
android:textSize="16dp"
120+
android:textStyle="bold"
121+
android:fontFamily="@font/mulish_regular"
122+
android:textColor="@color/greenDark"
123+
android:layout_marginStart="20dp"
124+
android:layout_marginTop="5dp"/>
106125

107-
</LinearLayout>
126+
127+
<com.google.android.material.button.MaterialButton
128+
android:id="@+id/btnCancel"
129+
android:layout_width="wrap_content"
130+
android:layout_height="wrap_content"
131+
app:layout_constraintBottom_toBottomOf="parent"
132+
app:layout_constraintStart_toStartOf="parent"
133+
android:backgroundTint="@color/error"
134+
android:layout_margin="20dp"
135+
android:text="Cancel"/>
136+
137+
<com.google.android.material.button.MaterialButton
138+
android:id="@+id/btnOK"
139+
android:layout_width="wrap_content"
140+
android:layout_height="wrap_content"
141+
app:layout_constraintBottom_toBottomOf="parent"
142+
app:layout_constraintEnd_toEndOf="parent"
143+
android:layout_margin="20dp"
144+
android:backgroundTint="@color/greenDark"
145+
android:text="OK"/>
108146

109147

110148
</androidx.constraintlayout.widget.ConstraintLayout>

0 commit comments

Comments
 (0)