1
0
mirror of https://gitlab.com/neothefox/LayTray synced 2026-03-23 21:54:54 +03:00

Notification Channel support for Oreo (KEY2)

Added Icon builder foundation
This commit is contained in:
NeoTheFox 2018-07-12 10:17:54 +03:00
parent bb4f5c0f51
commit 0d63615d0d
4 changed files with 93 additions and 7 deletions

View File

@ -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));
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;
}

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center"
android:orientation="horizontal">
<space.neothefox.laytray.IconBuilderPreview
android:id="@+id/textureView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
<space.neothefox.laytray.VerticalSeekBar
android:id="@+id/verSeekBar"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
<SeekBar
android:id="@+id/horSeekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="fill_horizontal"
android:orientation="horizontal">
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Save" />
<Button
android:id="@+id/closeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Close" />
</LinearLayout>
</LinearLayout>

View File

@ -32,14 +32,16 @@
<item>Plain Text</item>
<item>Text in circle</item>
<item>Text in a square</item>
<item>Text in a square outline</item>
</string-array>
<string-array name="pref_notification_mode_list_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string name="pref_title_icon_builder">Icon builder</string>
<!-- Example settings for Notifications -->
<string name="pref_header_notifications">Notifications</string>

View File

@ -31,4 +31,8 @@
android:inputType="number"
android:title="@string/pref_title_text_size" />
<Preference
android:key="iconBuilderPreference"
android:title="@string/pref_title_icon_builder" />
</PreferenceScreen>