diff --git a/library/src/main/java/com/github/javiersantos/appupdater/UtilsDisplay.java b/library/src/main/java/com/github/javiersantos/appupdater/UtilsDisplay.java
index f61e8869..b2da8417 100644
--- a/library/src/main/java/com/github/javiersantos/appupdater/UtilsDisplay.java
+++ b/library/src/main/java/com/github/javiersantos/appupdater/UtilsDisplay.java
@@ -1,6 +1,7 @@
package com.github.javiersantos.appupdater;
import android.app.Activity;
+import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
@@ -72,28 +73,32 @@ static Snackbar showUpdateNotAvailableSnackbar(final Context context, String con
}
static void showUpdateAvailableNotification(Context context, String title, String content, UpdateFrom updateFrom, URL apk, int smallIconResourceId) {
+ NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+ initNotificationChannel(context, notificationManager);
+
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, context.getPackageManager().getLaunchIntentForPackage(UtilsLibrary.getAppPackageName(context)), PendingIntent.FLAG_CANCEL_CURRENT);
PendingIntent pendingIntentUpdate = PendingIntent.getActivity(context, 0, UtilsLibrary.intentToUpdate(context, updateFrom, apk), PendingIntent.FLAG_CANCEL_CURRENT);
- NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
- .setContentIntent(contentIntent)
- .setContentTitle(title)
- .setContentText(content)
- .setStyle(new NotificationCompat.BigTextStyle().bigText(content))
- .setSmallIcon(smallIconResourceId)
- .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
- .setOnlyAlertOnce(true)
- .setAutoCancel(true)
+ NotificationCompat.Builder builder = getBaseNotification(context, contentIntent, title, content, smallIconResourceId)
.addAction(R.drawable.ic_system_update_white_24dp, context.getResources().getString(R.string.appupdater_btn_update), pendingIntentUpdate);
- NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, builder.build());
}
static void showUpdateNotAvailableNotification(Context context, String title, String content, int smallIconResourceId) {
+ NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
+ initNotificationChannel(context, notificationManager);
+
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, context.getPackageManager().getLaunchIntentForPackage(UtilsLibrary.getAppPackageName(context)), PendingIntent.FLAG_CANCEL_CURRENT);
- NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
+ NotificationCompat.Builder builder = getBaseNotification(context, contentIntent, title, content, smallIconResourceId)
+ .setAutoCancel(true);
+
+ notificationManager.notify(0, builder.build());
+ }
+
+ private static NotificationCompat.Builder getBaseNotification(Context context, PendingIntent contentIntent, String title, String content, int smallIconResourceId) {
+ return new NotificationCompat.Builder(context, context.getString(R.string.appupdater_channel))
.setContentIntent(contentIntent)
.setContentTitle(title)
.setContentText(content)
@@ -103,8 +108,16 @@ static void showUpdateNotAvailableNotification(Context context, String title, St
.setOnlyAlertOnce(true)
.setAutoCancel(true);
- NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
- notificationManager.notify(0, builder.build());
+ }
+
+ private static void initNotificationChannel(Context context, NotificationManager notificationManager) {
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
+ NotificationChannel mChannel = new NotificationChannel(
+ context.getString(R.string.appupdater_channel),
+ context.getString(R.string.appupdater_channel_name),
+ NotificationManager.IMPORTANCE_HIGH);
+ notificationManager.createNotificationChannel(mChannel);
+ }
}
}
diff --git a/library/src/main/res/values-es/strings.xml b/library/src/main/res/values-es/strings.xml
index 3629f814..5ba58fe1 100644
--- a/library/src/main/res/values-es/strings.xml
+++ b/library/src/main/res/values-es/strings.xml
@@ -10,4 +10,5 @@
Actualizar
No mostrar de nuevo
Ocultar
+ Notificaciones de actualizaciĆ³n
\ No newline at end of file
diff --git a/library/src/main/res/values/strings.xml b/library/src/main/res/values/strings.xml
index 885bbd95..7bf55c93 100644
--- a/library/src/main/res/values/strings.xml
+++ b/library/src/main/res/values/strings.xml
@@ -9,4 +9,7 @@
Update
Don\'t show again
Dismiss
+ Update notifications
+
+ appupdater_channel_01