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 d07984a

Browse files
Finishing Alarm
1 parent 6447cac commit d07984a

File tree

5 files changed

+27
-6
lines changed

5 files changed

+27
-6
lines changed

‎app/src/main/AndroidManifest.xml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools">
4-
54
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
65
<application
76
android:allowBackup="true"
@@ -13,6 +12,7 @@
1312
android:supportsRtl="true"
1413
android:theme="@style/Theme.SmartAlarm"
1514
tools:targetApi="31">
15+
<receiver android:name=".Alarm_Receiver.AlarmReceiver"/>
1616
<activity
1717
android:name=".EditAlarm"
1818
android:exported="true" />

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

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

3-
import android.app.TimePickerDialog;
43
import android.content.Context;
54
import android.view.LayoutInflater;
6-
import android.view.View;
75
import android.view.ViewGroup;
8-
import android.widget.TimePicker;
96
import androidx.annotation.NonNull;
107
import androidx.recyclerview.widget.RecyclerView;
11-
import java.text.SimpleDateFormat;
128
import java.util.Calendar;
139
import java.util.List;
1410

@@ -24,6 +20,7 @@ public class AlarmAdapter extends RecyclerView.Adapter<AlarmAdapter.AlarmViewHol
2420
private Calendar calendar = Calendar.getInstance();
2521
private AlarmClickListener listener;
2622
private AlarmDAO alarmDAO = AppDatabase.appDatabase.alarmDAO();
23+
private final EditAlarm editAlarm = new EditAlarm();
2724
public AlarmAdapter(Context context , List<AlarmEntity> alarmList, AlarmClickListener listener){
2825
this.context = context;
2926
this.alarmList = alarmList;
@@ -81,6 +78,7 @@ else if(alarm.getAlarmUnit().equalsIgnoreCase("AM")){
8178
alarms.setAlarmOn(false);
8279
}
8380
alarmDAO.updateAlarm(alarms);
81+
editAlarm.scheduleAlarm(alarms);
8482
});
8583
holder.binding.listLinear.setOnClickListener(v -> {
8684
listener.onAlarmClicked(alarms);

‎app/src/main/java/it/ezzie/smartalarm/Alarm_Receiver/AlarmReceiver.java‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ private void createChannel(Context context , String alarmLabel){
3535
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId)
3636
.setContentTitle("Alarm")
3737
.setContentText(alarmLabel)
38-
.setSmallIcon(R.drawable.alarm_Icon)
38+
.setSmallIcon(R.drawable.alarm_icon)
3939
.setPriority(NotificationCompat.PRIORITY_HIGH);
4040

4141
notificationManager.notify(1, builder.build());

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

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

3+
import android.app.AlarmManager;
4+
import android.app.PendingIntent;
35
import android.content.Intent;
46
import android.os.Bundle;
57
import android.util.Log;
@@ -15,6 +17,7 @@
1517
import java.text.SimpleDateFormat;
1618
import java.util.Calendar;
1719

20+
import it.ezzie.smartalarm.Alarm_Receiver.AlarmReceiver;
1821
import it.ezzie.smartalarm.Data_Access_Object.AlarmDAO;
1922
import it.ezzie.smartalarm.Database.AppDatabase;
2023
import it.ezzie.smartalarm.Entity.AlarmEntity;
@@ -100,13 +103,33 @@ private void initData(){
100103
else {
101104
alarm = new AlarmEntity(String.valueOf(hourOfDay), String.format("%02d", minute),formattedUnit,true, label);
102105
}
106+
scheduleAlarm(alarm);
103107
Intent intent = new Intent(this, MainActivity.class);
104108
intent.putExtra("alarm",alarm);
105109
setResult(RESULT_OK,intent);
106110
finish();
107111
});
108112
});
109113
}
114+
public void scheduleAlarm(AlarmEntity alarm){
115+
AlarmManager alarmManager = this.getSystemService(AlarmManager.class);
116+
Intent intent = new Intent(this, AlarmReceiver.class);
117+
intent.putExtra("alarmLabel", alarm.getAlarmLabel());
118+
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,Integer.parseInt(alarm.getAlarmHour()) * 100 + Integer.parseInt(alarm.getAlarmMinute()), intent , PendingIntent.FLAG_UPDATE_CURRENT);
119+
//Init Calendar
120+
Calendar calendar1 = Calendar.getInstance();
121+
calendar1.set(Calendar.HOUR_OF_DAY, Integer.parseInt(alarm.getAlarmHour()));
122+
calendar1.set(Calendar.MINUTE, Integer.parseInt(alarm.getAlarmMinute()));
123+
calendar1.set(Calendar.SECOND , 0);
124+
//Set the alarm to ring
125+
if(alarm.isAlarmOn()){
126+
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar1.getTimeInMillis(),pendingIntent);
127+
}
128+
else {
129+
alarmManager.cancel(pendingIntent);
130+
}
131+
}
132+
110133
private void initUI() {
111134
if (getIntent() != null) {
112135
alarmList = (AlarmEntity) getIntent().getSerializableExtra("alarm");
File renamed without changes.

0 commit comments

Comments
(0)

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