diff --git a/app/src/main/java/space/neothefox/laytray/IconService.java b/app/src/main/java/space/neothefox/laytray/IconService.java index c9ad14b..ae6b8c9 100644 --- a/app/src/main/java/space/neothefox/laytray/IconService.java +++ b/app/src/main/java/space/neothefox/laytray/IconService.java @@ -3,6 +3,7 @@ package space.neothefox.laytray; import android.accessibilityservice.AccessibilityService; import android.accessibilityservice.AccessibilityServiceInfo; import android.app.Notification; +import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; import android.content.SharedPreferences; @@ -14,6 +15,7 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.RectF; import android.graphics.drawable.Icon; +import android.os.Build; import android.preference.PreferenceManager; import android.util.Log; import android.view.accessibility.AccessibilityEvent; @@ -32,6 +34,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener{ String lastToast; NotificationManager iconManager; + NotificationChannel iconChannel; @Override protected void onServiceConnected() { @@ -48,6 +51,14 @@ implements SharedPreferences.OnSharedPreferenceChangeListener{ //options.registerOnSharedPreferenceChangeListener(this); iconManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + iconChannel = new NotificationChannel( + "laytray", + "LayTray", + Integer.parseInt(options.getString("notificationImportance", "0"))); + iconChannel.setShowBadge(false); + iconChannel.setLockscreenVisibility(Notification.VISIBILITY_SECRET); + } } protected void updateNotification(String toast) @@ -67,12 +78,24 @@ implements SharedPreferences.OnSharedPreferenceChangeListener{ Integer.parseInt(options.getString("textMode", "0")), Color.WHITE)); - indicator = new Notification.Builder(this) - .setSmallIcon(smallIcon) - .setContentTitle(toast) - .setOngoing(true) - .setPriority(Integer.parseInt(options.getString("notificationImportance", "0"))) - .build(); + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) + { + iconChannel.setImportance( + Integer.parseInt(options.getString("notificationImportance", "0"))); + indicator = new Notification.Builder(this, "laytray") + .setSmallIcon(smallIcon) + .setContentTitle(toast) + .setOngoing(true) + .build(); + } + else { + indicator = new Notification.Builder(this) + .setSmallIcon(smallIcon) + .setContentTitle(toast) + .setOngoing(true) + .setPriority(Integer.parseInt(options.getString("notificationImportance", "0"))) + .build(); + } iconManager.notify(0, indicator); return; } diff --git a/app/src/main/res/layout/fragment_icon_builder.xml b/app/src/main/res/layout/fragment_icon_builder.xml new file mode 100644 index 0000000..f90543f --- /dev/null +++ b/app/src/main/res/layout/fragment_icon_builder.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + +