mirror of
https://gitlab.com/neothefox/LayTray
synced 2026-03-23 13:44:53 +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.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;
|
||||
}
|
||||
|
||||
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>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>
|
||||
|
||||
@ -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>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user