1 package com.sudogeeks.talking_reminder;
4 import android.annotation.TargetApi;
5 import android.app.NotificationChannel;
6 import android.app.NotificationManager;
7 import android.app.PendingIntent;
8 import android.content.Context;
9 import android.content.ContextWrapper;
10 import android.content.Intent;
11 import android.graphics.BitmapFactory;
12 import android.os.Build;
13 import android.speech.tts.TextToSpeech;
15 import androidx.core.app.NotificationCompat;
21 public static final String channelID =
"channelID";
22 public static final String channelName =
"Channel Name";
25 private NotificationManager mManager;
26 private TextToSpeech t1;
35 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
38 int mReceivedID = Integer.parseInt(intent.getStringExtra(
ReminderEditActivity.EXTRA_REMINDER_ID));
43 mTitle = reminderDO.getTitle();
48 mClick = PendingIntent.getActivity(base, mReceivedID, editIntent, PendingIntent.FLAG_UPDATE_CURRENT);
52 @TargetApi(Build.VERSION_CODES.O)
53 private
void createChannel() {
54 NotificationChannel channel =
new NotificationChannel(channelID, channelName, NotificationManager.IMPORTANCE_HIGH);
56 getManager().createNotificationChannel(channel);
59 public NotificationManager getManager() {
60 if (mManager ==
null) {
61 mManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
79 return new NotificationCompat.Builder(getApplicationContext(), channelID)
80 .setLargeIcon(BitmapFactory.decodeResource(getApplicationContext().getResources(), R.mipmap.ic_launcher))
81 .setSmallIcon(R.drawable.ic_alarm_on_white)
82 .setContentTitle(getApplicationContext().getResources().getString(R.string.app_name))
84 .setContentText(mTitle)
88 .setPriority(NotificationManager.IMPORTANCE_HIGH)
89 .setContentIntent(mClick)
91 .setOnlyAlertOnce(
true);
94 public TextToSpeech getTextToSpeech() {