From d2bcac813e60138c4c061153219b8ae8bdcef1fe Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Fri, 14 Jul 2017 02:27:02 +0800 Subject: [PATCH] Fix update notifications on Android O --- app/src/main/AndroidManifest.xml | 1 + .../java/com/topjohnwu/magisk/MagiskManager.java | 13 +++++++++++++ .../main/java/com/topjohnwu/magisk/utils/Utils.java | 4 +++- app/src/main/res/values/strings.xml | 1 + 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7195b27f4..7c0114162 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,7 @@ + blockDetectionDone = new CallbackEvent<>(); @@ -143,6 +148,14 @@ public class MagiskManager extends Application { .apply(); // Add busybox to PATH Shell.su("PATH=$PATH:" + busybox.getParent()); + + // Create notification channel on Android O + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL, + getString(R.string.magisk_updates), NotificationManager.IMPORTANCE_DEFAULT); + ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel); + } + } public void initSUConfig() { diff --git a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java index ba9cecc08..c61bd0ec3 100644 --- a/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java +++ b/app/src/main/java/com/topjohnwu/magisk/utils/Utils.java @@ -105,7 +105,7 @@ public class Utils { receiver.setDownloadID(downloadManager.enqueue(request)); } receiver.setFilename(filename); - context.registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); + context.getApplicationContext().registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); } public static String getLegalFilename(CharSequence filename) { @@ -214,6 +214,7 @@ public class Utils { builder.setSmallIcon(R.drawable.ic_magisk) .setContentTitle(magiskManager.getString(R.string.magisk_update_title)) .setContentText(magiskManager.getString(R.string.magisk_update_available, magiskManager.remoteMagiskVersionString)) + .setChannelId(MagiskManager.NOTIFICATION_CHANNEL) .setVibrate(new long[]{0, 100, 100, 100}) .setAutoCancel(true); Intent intent = new Intent(magiskManager, SplashActivity.class); @@ -234,6 +235,7 @@ public class Utils { builder.setSmallIcon(R.drawable.ic_magisk) .setContentTitle(magiskManager.getString(R.string.manager_update_title)) .setContentText(magiskManager.getString(R.string.manager_download_install)) + .setChannelId(MagiskManager.NOTIFICATION_CHANNEL) .setVibrate(new long[]{0, 100, 100, 100}) .setAutoCancel(true); Intent intent = new Intent(magiskManager, ManagerUpdate.class); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 537848a39..3ce9cabe8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -132,6 +132,7 @@ Please manually select a boot image! New Magisk Manager Update Available! Press to download and install + Magisk Updates General