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:
parent
bb4f5c0f51
commit
0d63615d0d
@ -3,6 +3,7 @@ package space.neothefox.laytray;
|
|||||||
import android.accessibilityservice.AccessibilityService;
|
import android.accessibilityservice.AccessibilityService;
|
||||||
import android.accessibilityservice.AccessibilityServiceInfo;
|
import android.accessibilityservice.AccessibilityServiceInfo;
|
||||||
import android.app.Notification;
|
import android.app.Notification;
|
||||||
|
import android.app.NotificationChannel;
|
||||||
import android.app.NotificationManager;
|
import android.app.NotificationManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
@ -14,6 +15,7 @@ import android.graphics.PorterDuff;
|
|||||||
import android.graphics.PorterDuffXfermode;
|
import android.graphics.PorterDuffXfermode;
|
||||||
import android.graphics.RectF;
|
import android.graphics.RectF;
|
||||||
import android.graphics.drawable.Icon;
|
import android.graphics.drawable.Icon;
|
||||||
|
import android.os.Build;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.accessibility.AccessibilityEvent;
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
@ -32,6 +34,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener{
|
|||||||
String lastToast;
|
String lastToast;
|
||||||
|
|
||||||
NotificationManager iconManager;
|
NotificationManager iconManager;
|
||||||
|
NotificationChannel iconChannel;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onServiceConnected() {
|
protected void onServiceConnected() {
|
||||||
@ -48,6 +51,14 @@ implements SharedPreferences.OnSharedPreferenceChangeListener{
|
|||||||
//options.registerOnSharedPreferenceChangeListener(this);
|
//options.registerOnSharedPreferenceChangeListener(this);
|
||||||
|
|
||||||
iconManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
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)
|
protected void updateNotification(String toast)
|
||||||
@ -67,12 +78,24 @@ implements SharedPreferences.OnSharedPreferenceChangeListener{
|
|||||||
Integer.parseInt(options.getString("textMode", "0")),
|
Integer.parseInt(options.getString("textMode", "0")),
|
||||||
Color.WHITE));
|
Color.WHITE));
|
||||||
|
|
||||||
indicator = new Notification.Builder(this)
|
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
|
||||||
.setSmallIcon(smallIcon)
|
{
|
||||||
.setContentTitle(toast)
|
iconChannel.setImportance(
|
||||||
.setOngoing(true)
|
Integer.parseInt(options.getString("notificationImportance", "0")));
|
||||||
.setPriority(Integer.parseInt(options.getString("notificationImportance", "0")))
|
indicator = new Notification.Builder(this, "laytray")
|
||||||
.build();
|
.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);
|
iconManager.notify(0, indicator);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
57
app/src/main/res/layout/fragment_icon_builder.xml
Normal file
57
app/src/main/res/layout/fragment_icon_builder.xml
Normal 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>
|
||||||
@ -32,14 +32,16 @@
|
|||||||
<item>Plain Text</item>
|
<item>Plain Text</item>
|
||||||
<item>Text in circle</item>
|
<item>Text in circle</item>
|
||||||
<item>Text in a square</item>
|
<item>Text in a square</item>
|
||||||
|
<item>Text in a square outline</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
<string-array name="pref_notification_mode_list_values">
|
<string-array name="pref_notification_mode_list_values">
|
||||||
<item>0</item>
|
<item>0</item>
|
||||||
<item>1</item>
|
<item>1</item>
|
||||||
<item>2</item>
|
<item>2</item>
|
||||||
|
<item>3</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<string name="pref_title_icon_builder">Icon builder</string>
|
||||||
|
|
||||||
<!-- Example settings for Notifications -->
|
<!-- Example settings for Notifications -->
|
||||||
<string name="pref_header_notifications">Notifications</string>
|
<string name="pref_header_notifications">Notifications</string>
|
||||||
|
|||||||
@ -31,4 +31,8 @@
|
|||||||
android:inputType="number"
|
android:inputType="number"
|
||||||
android:title="@string/pref_title_text_size" />
|
android:title="@string/pref_title_text_size" />
|
||||||
|
|
||||||
|
<Preference
|
||||||
|
android:key="iconBuilderPreference"
|
||||||
|
android:title="@string/pref_title_icon_builder" />
|
||||||
|
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user