From 1974c9f039cf0c1ff81f62afe5fa4e5271c3ea3c Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Sat, 27 Oct 2018 04:55:31 +0100 Subject: [PATCH] Add support for notification channels --- .../ctfwstimer/MainServiceNotification.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mobile/src/main/java/com/acmetensortoys/ctfwstimer/MainServiceNotification.java b/mobile/src/main/java/com/acmetensortoys/ctfwstimer/MainServiceNotification.java index 83903b0..9054e5c 100644 --- a/mobile/src/main/java/com/acmetensortoys/ctfwstimer/MainServiceNotification.java +++ b/mobile/src/main/java/com/acmetensortoys/ctfwstimer/MainServiceNotification.java @@ -1,5 +1,8 @@ package com.acmetensortoys.ctfwstimer; +import android.app.Notification; +import android.app.NotificationChannel; +import android.app.NotificationManager; import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; @@ -18,6 +21,8 @@ import com.acmetensortoys.ctfwstimer.lib.CtFwSGameStateManager; import java.util.List; class MainServiceNotification { + final public String CTFWS_GAME_CHANNEL_ID = "GAME"; + final private MainService mService; private final NotificationCompat.Builder userNoteBuilder; @@ -35,11 +40,24 @@ class MainServiceNotification { ni.addCategory(Intent.CATEGORY_LAUNCHER); ni.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - userNoteBuilder = new NotificationCompat.Builder(ms) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + NotificationChannel nc = new NotificationChannel( + CTFWS_GAME_CHANNEL_ID, + "Game Notifications", + NotificationManager.IMPORTANCE_DEFAULT); + nc.enableVibration(true); + nc.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC); + } + + userNoteBuilder = new NotificationCompat.Builder(ms, CTFWS_GAME_CHANNEL_ID) .setOnlyAlertOnce(false) .setSmallIcon(R.drawable.shield1) .setContentIntent(PendingIntent.getActivity(ms, 0, ni, 0)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + userNoteBuilder.setVisibility(Notification.VISIBILITY_PUBLIC); + } + game.registerObserver(new CtFwSGameStateManager.Observer() { @Override public void onCtFwSConfigure(CtFwSGameStateManager game) { } -- 2.50.1