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 c5b3fff

Browse files
Smart Alarm
1 parent 6124537 commit c5b3fff

File tree

3 files changed

+68
-4
lines changed

3 files changed

+68
-4
lines changed

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

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,61 @@
77
import androidx.core.graphics.Insets;
88
import androidx.core.view.ViewCompat;
99
import androidx.core.view.WindowInsetsCompat;
10+
import androidx.room.Room;
1011

12+
import java.util.Calendar;
13+
14+
import it.ezzie.smartalarm.Data_Access_Object.AlarmDAO;
15+
import it.ezzie.smartalarm.Database.AppDatabase;
16+
import it.ezzie.smartalarm.Entity.AlarmEntity;
1117
import it.ezzie.smartalarm.databinding.ActivityEditAlarmBinding;
1218

1319
public class EditAlarm extends AppCompatActivity {
1420
private ActivityEditAlarmBinding binding;
21+
private AlarmDAO alarmDAO;
22+
private Calendar calendar = Calendar.getInstance();
1523
@Override
1624
protected void onCreate(Bundle savedInstanceState) {
1725
super.onCreate(savedInstanceState);
1826
EdgeToEdge.enable(this);
1927
binding = ActivityEditAlarmBinding.inflate(getLayoutInflater());
2028
setContentView(binding.getRoot());
29+
initDatabase();
30+
initData();
31+
initListener();
32+
}
33+
34+
private void initDatabase() {
35+
var databaseBuilder = AppDatabase.getInstance(this);
36+
alarmDAO = databaseBuilder.alarmDAO();
37+
alarmDAO.getAllAlarms();
38+
}
39+
private void initData(){
40+
binding.timePicker.setOnTimeChangedListener((view, hourOfDay, minute) -> {
41+
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
42+
calendar.set(Calendar.MINUTE,minute);
43+
44+
int currentHour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
45+
int currentMinute = Calendar.getInstance().get(Calendar.MINUTE);
46+
int totalCurrentMinute = currentHour * 60 + currentMinute;
47+
int totalSelectedMinute = hourOfDay * 60 + minute;
48+
int totalResultMinute = totalSelectedMinute - totalCurrentMinute;
49+
int resultHour = totalResultMinute / 60;
50+
int resultMinute = totalResultMinute % 60;
51+
if(totalResultMinute < 0){
52+
resultHour = -resultHour;
53+
resultMinute = -resultMinute;
54+
}
55+
binding.hour.setText(String.valueOf(resultHour));
56+
binding.minute.setText(String.format("%02d",resultMinute));
57+
});
58+
}
59+
private void initListener(){
60+
binding.btnCancel.setOnClickListener(v -> {
61+
finish();
62+
});
63+
binding.btnOK.setOnClickListener(v -> {
2164

65+
});
2266
}
2367
}

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

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import android.app.AlertDialog;
44
import android.app.TimePickerDialog;
5+
import android.content.Intent;
56
import android.os.Bundle;
67

78
import androidx.activity.EdgeToEdge;
9+
import androidx.annotation.Nullable;
810
import androidx.appcompat.app.AppCompatActivity;
911
import androidx.recyclerview.widget.LinearLayoutManager;
1012

@@ -28,6 +30,7 @@ public class MainActivity extends AppCompatActivity {
2830
private Calendar calendar = Calendar.getInstance();
2931
private int resultHour;
3032
private int resultMinute;
33+
private static final int CREATE_REQUEST_CODE = 123;
3134
@Override
3235
protected void onCreate(Bundle savedInstanceState) {
3336
super.onCreate(savedInstanceState);
@@ -37,7 +40,7 @@ protected void onCreate(Bundle savedInstanceState) {
3740
initDatabase();
3841
initUI();
3942
// initDialog();
40-
// initListener();
43+
initListener();
4144
}
4245

4346
private void initDatabase() {
@@ -90,6 +93,20 @@ private void initUI(){
9093
// alertDialog.cancel();
9194
// });
9295
// }
96+
private void initListener(){
97+
binding.floatingBtn.setOnClickListener(v -> {
98+
Intent intent = new Intent(this, EditAlarm.class);
99+
startActivityForResult(intent,CREATE_REQUEST_CODE);
100+
});
101+
}
93102

103+
@Override
104+
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
105+
super.onActivityResult(requestCode, resultCode, data);
106+
if(requestCode == CREATE_REQUEST_CODE && resultCode == RESULT_OK){
107+
if(data != null){
94108

109+
}
110+
}
111+
}
95112
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
android:fontFamily="@font/mulish_regular"
2020
android:textStyle="bold"
2121
android:textSize="20dp"
22-
android:layout_marginTop="10dp"/>
22+
android:layout_marginTop="50dp"/>
2323

2424

2525

@@ -77,7 +77,8 @@
7777
android:layout_width="wrap_content"
7878
android:layout_height="wrap_content"
7979
app:layout_constraintTop_toBottomOf="@id/linearAlarm"
80-
android:layout_marginTop="20dp"
80+
android:layout_marginTop="100dp"
81+
android:layout_marginBottom="40dp"
8182
android:timePickerMode="spinner"
8283
app:layout_constraintStart_toStartOf="parent"
8384
app:layout_constraintEnd_toEndOf="parent"/>
@@ -86,7 +87,9 @@
8687
android:id="@+id/editLabel"
8788
android:layout_width="match_parent"
8889
android:layout_height="wrap_content"
89-
app:layout_constraintTop_toBottomOf="@id/timePicker">
90+
app:layout_constraintTop_toBottomOf="@id/timePicker"
91+
app:layout_constraintBottom_toBottomOf="parent"
92+
android:layout_marginBottom="150dp">
9093

9194
<com.google.android.material.textfield.TextInputEditText
9295
android:layout_width="match_parent"

0 commit comments

Comments
(0)

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