Skip to content

Commit

Permalink
Fix update notifications on Android O
Browse files Browse the repository at this point in the history
  • Loading branch information
topjohnwu committed Jul 13, 2017
1 parent 080c37a commit d2bcac8
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 1 deletion.
1 change: 1 addition & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

<application
android:name=".MagiskManager"
Expand Down
13 changes: 13 additions & 0 deletions app/src/main/java/com/topjohnwu/magisk/MagiskManager.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.topjohnwu.magisk;

import android.app.Application;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.os.Build;
import android.os.Handler;
import android.preference.PreferenceManager;
import android.text.TextUtils;
Expand Down Expand Up @@ -31,6 +35,7 @@ public class MagiskManager extends Application {
public static final String BUSYBOX_VERSION = "1.26.2";
public static final String MAGISKHIDE_PROP = "persist.magisk.hide";
public static final String DISABLE_INDICATION_PROP = "ro.magisk.disable";
public static final String NOTIFICATION_CHANNEL = "magisk_update_notice";

// Events
public final CallbackEvent<Void> blockDetectionDone = new CallbackEvent<>();
Expand Down Expand Up @@ -143,6 +148,14 @@ public void init() {
.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() {
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/com/topjohnwu/magisk/utils/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ public static void dlAndReceive(Context context, DownloadReceiver receiver, Stri
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) {
Expand Down Expand Up @@ -214,6 +214,7 @@ public static void showMagiskUpdate(MagiskManager magiskManager) {
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);
Expand All @@ -234,6 +235,7 @@ public static void showManagerUpdate(MagiskManager magiskManager) {
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);
Expand Down
1 change: 1 addition & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@
<string name="manual_boot_image">Please manually select a boot image!</string>
<string name="manager_update_title">New Magisk Manager Update Available!</string>
<string name="manager_download_install">Press to download and install</string>
<string name="magisk_updates">Magisk Updates</string>

<!--Settings Activity -->
<string name="settings_general_category">General</string>
Expand Down

0 comments on commit d2bcac8

Please sign in to comment.