Fix notification issue
This commit is contained in:
parent
d2de871fcd
commit
b4ec682c81
|
@ -19,6 +19,7 @@ package fr.gouv.etalab.mastodon.helper;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.Notification;
|
||||||
import android.app.NotificationChannel;
|
import android.app.NotificationChannel;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
|
@ -838,19 +839,6 @@ public class Helper {
|
||||||
channelId = "channel_boost";
|
channelId = "channel_boost";
|
||||||
channelTitle = context.getString(R.string.channel_notif_boost);
|
channelTitle = context.getString(R.string.channel_notif_boost);
|
||||||
}
|
}
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
||||||
NotificationChannel channel = new NotificationChannel(channelId, channelTitle, NotificationManager.IMPORTANCE_HIGH);
|
|
||||||
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
|
||||||
AudioAttributes audioAttributes = new AudioAttributes.Builder()
|
|
||||||
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
|
|
||||||
.setUsage(AudioAttributes.USAGE_ALARM)
|
|
||||||
.build();
|
|
||||||
assert mNotificationManager != null;
|
|
||||||
String soundUri =sharedpreferences.getString(Helper.SET_NOTIF_SOUND, ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/"+ R.raw.boop);
|
|
||||||
channel.setSound(Uri.parse(soundUri), audioAttributes);
|
|
||||||
mNotificationManager.createNotificationChannel(channel);
|
|
||||||
}
|
|
||||||
|
|
||||||
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, channelId)
|
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(context, channelId)
|
||||||
.setSmallIcon(R.drawable.notification_icon)
|
.setSmallIcon(R.drawable.notification_icon)
|
||||||
.setTicker(message)
|
.setTicker(message)
|
||||||
|
@ -858,15 +846,7 @@ public class Helper {
|
||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
.setContentIntent(pIntent)
|
.setContentIntent(pIntent)
|
||||||
.setContentText(message);
|
.setContentText(message);
|
||||||
if( sharedpreferences.getBoolean(Helper.SET_NOTIF_SILENT,false) ) {
|
|
||||||
notificationBuilder.setVibrate(new long[] { 500, 500, 500});
|
|
||||||
}else if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O){
|
|
||||||
String soundUri =sharedpreferences.getString(Helper.SET_NOTIF_SOUND, ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/"+ R.raw.boop);
|
|
||||||
notificationBuilder.setSound(Uri.parse(soundUri));
|
|
||||||
}
|
|
||||||
|
|
||||||
int ledColour = Color.BLUE;
|
int ledColour = Color.BLUE;
|
||||||
|
|
||||||
switch (sharedpreferences.getInt(Helper.SET_LED_COLOUR, Helper.LED_COLOUR)) {
|
switch (sharedpreferences.getInt(Helper.SET_LED_COLOUR, Helper.LED_COLOUR)) {
|
||||||
case 0: // BLUE
|
case 0: // BLUE
|
||||||
ledColour = Color.BLUE;
|
ledColour = Color.BLUE;
|
||||||
|
@ -891,7 +871,36 @@ public class Helper {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
notificationBuilder.setLights(ledColour, 500, 1000);
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
NotificationChannel channel;
|
||||||
|
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||||
|
if( sharedpreferences.getBoolean(Helper.SET_NOTIF_SILENT,false) ) {
|
||||||
|
channel = new NotificationChannel(channelId, channelTitle, NotificationManager.IMPORTANCE_LOW);
|
||||||
|
channel.setSound(null, null);
|
||||||
|
channel.setVibrationPattern(new long[] { 500, 500, 500});
|
||||||
|
channel.enableVibration(true);
|
||||||
|
channel.setLightColor(ledColour);
|
||||||
|
}else {
|
||||||
|
channel = new NotificationChannel(channelId, channelTitle, NotificationManager.IMPORTANCE_HIGH);
|
||||||
|
String soundUri = sharedpreferences.getString(Helper.SET_NOTIF_SOUND, ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/"+ R.raw.boop);
|
||||||
|
AudioAttributes audioAttributes = new AudioAttributes.Builder()
|
||||||
|
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
|
||||||
|
.setUsage(AudioAttributes.USAGE_ALARM)
|
||||||
|
.build();
|
||||||
|
channel.setSound(Uri.parse(soundUri), audioAttributes);
|
||||||
|
}
|
||||||
|
assert mNotificationManager != null;
|
||||||
|
mNotificationManager.createNotificationChannel(channel);
|
||||||
|
}else{
|
||||||
|
if( sharedpreferences.getBoolean(Helper.SET_NOTIF_SILENT,false) ) {
|
||||||
|
notificationBuilder.setVibrate(new long[] { 500, 500, 500});
|
||||||
|
}else {
|
||||||
|
String soundUri =sharedpreferences.getString(Helper.SET_NOTIF_SOUND, ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + context.getPackageName() +"/"+ R.raw.boop);
|
||||||
|
notificationBuilder.setSound(Uri.parse(soundUri));
|
||||||
|
}
|
||||||
|
notificationBuilder.setLights(ledColour, 500, 1000);
|
||||||
|
}
|
||||||
notificationBuilder.setContentTitle(title);
|
notificationBuilder.setContentTitle(title);
|
||||||
notificationBuilder.setLargeIcon(icon);
|
notificationBuilder.setLargeIcon(icon);
|
||||||
notificationManager.notify(notificationId, notificationBuilder.build());
|
notificationManager.notify(notificationId, notificationBuilder.build());
|
||||||
|
|
Loading…
Reference in New Issue