1 package com.sudogeeks.talking_reminder;
3 import android.app.AlarmManager;
4 import android.app.PendingIntent;
5 import android.content.BroadcastReceiver;
6 import android.content.ComponentName;
7 import android.content.Context;
8 import android.content.Intent;
9 import android.content.pm.PackageManager;
10 import android.os.SystemClock;
12 import androidx.core.app.NotificationCompat;
14 import java.util.Calendar;
22 AlarmManager mAlarmManager;
23 PendingIntent mPendingIntent;
33 public void onReceive(Context context, Intent intent) {
34 int mReceivedID = Integer.parseInt(intent.getStringExtra(
ReminderEditActivity.EXTRA_REMINDER_ID));
39 String mTitle = reminderDO.getTitle();
45 PendingIntent mClick = PendingIntent.getActivity(context, mReceivedID, editIntent, PendingIntent.FLAG_UPDATE_CURRENT);
51 notificationHelper.getManager().notify(mReceivedID, nb.build());
57 i.putExtra(
"MyTitle", mTitle);
58 context.startService(i);
59 context.startService(i);
60 context.startService(i);
73 public void setAlarm(Context context, Calendar calendar,
int ID) {
74 mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
79 mPendingIntent = PendingIntent.getBroadcast(context, ID, intent, PendingIntent.FLAG_CANCEL_CURRENT);
82 Calendar c = Calendar.getInstance();
83 long currentTime = c.getTimeInMillis();
84 long diffTime = calendar.getTimeInMillis() - currentTime;
87 mAlarmManager.set(AlarmManager.ELAPSED_REALTIME,
88 SystemClock.elapsedRealtime() + diffTime,
92 ComponentName receiver =
new ComponentName(context,
BootReceiver.class);
93 PackageManager pm = context.getPackageManager();
94 pm.setComponentEnabledSetting(receiver,
95 PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
96 PackageManager.DONT_KILL_APP);
107 public void setRepeatAlarm(Context context, Calendar calendar,
int ID,
long RepeatTime) {
108 mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
113 mPendingIntent = PendingIntent.getBroadcast(context, ID, intent, PendingIntent.FLAG_CANCEL_CURRENT);
116 Calendar c = Calendar.getInstance();
117 long currentTime = c.getTimeInMillis();
118 long diffTime = calendar.getTimeInMillis() - currentTime;
121 mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME,
122 SystemClock.elapsedRealtime() + diffTime,
123 RepeatTime, mPendingIntent);
126 ComponentName receiver =
new ComponentName(context,
BootReceiver.class);
127 PackageManager pm = context.getPackageManager();
128 pm.setComponentEnabledSetting(receiver,
129 PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
130 PackageManager.DONT_KILL_APP);
140 mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
143 mPendingIntent = PendingIntent.getBroadcast(context, ID,
new Intent(context,
AlarmReceiver.class), 0);
144 mAlarmManager.cancel(mPendingIntent);
147 ComponentName receiver =
new ComponentName(context,
BootReceiver.class);
148 PackageManager pm = context.getPackageManager();
149 pm.setComponentEnabledSetting(receiver,
150 PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
151 PackageManager.DONT_KILL_APP);