diff options
Diffstat (limited to 'app/src/main/java/se/lublin/mumla/service')
3 files changed, 24 insertions, 4 deletions
diff --git a/app/src/main/java/se/lublin/mumla/service/MumlaConnectionNotification.java b/app/src/main/java/se/lublin/mumla/service/MumlaConnectionNotification.java index 46834ec..64f180f 100644 --- a/app/src/main/java/se/lublin/mumla/service/MumlaConnectionNotification.java +++ b/app/src/main/java/se/lublin/mumla/service/MumlaConnectionNotification.java @@ -19,6 +19,8 @@ package se.lublin.mumla.service; import static android.app.PendingIntent.FLAG_CANCEL_CURRENT; import static android.app.PendingIntent.FLAG_IMMUTABLE; +import static android.content.Context.RECEIVER_NOT_EXPORTED; +import static android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_MICROPHONE; import android.app.Notification; import android.app.NotificationChannel; @@ -29,6 +31,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ServiceInfo; import android.os.Build; import androidx.core.app.NotificationCompat; @@ -109,7 +112,11 @@ public class MumlaConnectionNotification { filter.addAction(BROADCAST_MUTE); filter.addAction(BROADCAST_OVERLAY); try { - mService.registerReceiver(mNotificationReceiver, filter); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + mService.registerReceiver(mNotificationReceiver, filter, RECEIVER_NOT_EXPORTED); + } else { + mService.registerReceiver(mNotificationReceiver, filter); + } } catch (IllegalArgumentException e) { // Thrown if receiver is already registered. e.printStackTrace(); @@ -181,7 +188,11 @@ public class MumlaConnectionNotification { builder.setContentIntent(pendingIntent); Notification notification = builder.build(); - mService.startForeground(NOTIFICATION_ID, notification); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + mService.startForeground(NOTIFICATION_ID, notification, FOREGROUND_SERVICE_TYPE_MICROPHONE); + } else { + mService.startForeground(NOTIFICATION_ID, notification); + } return notification; } diff --git a/app/src/main/java/se/lublin/mumla/service/MumlaReconnectNotification.java b/app/src/main/java/se/lublin/mumla/service/MumlaReconnectNotification.java index 767586a..86c9f86 100644 --- a/app/src/main/java/se/lublin/mumla/service/MumlaReconnectNotification.java +++ b/app/src/main/java/se/lublin/mumla/service/MumlaReconnectNotification.java @@ -19,6 +19,7 @@ package se.lublin.mumla.service; import static android.app.PendingIntent.FLAG_CANCEL_CURRENT; import static android.app.PendingIntent.FLAG_IMMUTABLE; +import static android.content.Context.RECEIVER_NOT_EXPORTED; import android.app.NotificationChannel; import android.app.NotificationManager; @@ -81,7 +82,11 @@ public class MumlaReconnectNotification { filter.addAction(BROADCAST_RECONNECT); filter.addAction(BROADCAST_CANCEL_RECONNECT); try { - mContext.registerReceiver(mNotificationReceiver, filter); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + mContext.registerReceiver(mNotificationReceiver, filter, RECEIVER_NOT_EXPORTED); + } else { + mContext.registerReceiver(mNotificationReceiver, filter); + } } catch (IllegalArgumentException e) { // Thrown if receiver is already registered. e.printStackTrace(); diff --git a/app/src/main/java/se/lublin/mumla/service/MumlaService.java b/app/src/main/java/se/lublin/mumla/service/MumlaService.java index d20e5e5..c852dc6 100644 --- a/app/src/main/java/se/lublin/mumla/service/MumlaService.java +++ b/app/src/main/java/se/lublin/mumla/service/MumlaService.java @@ -357,7 +357,11 @@ public class MumlaService extends HumlaService implements setSelfMuteDeafState(mSettings.isMuted(), mSettings.isDeafened()); } - registerReceiver(mTalkReceiver, new IntentFilter(TalkBroadcastReceiver.BROADCAST_TALK)); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + registerReceiver(mTalkReceiver, new IntentFilter(TalkBroadcastReceiver.BROADCAST_TALK), RECEIVER_EXPORTED); + } else { + registerReceiver(mTalkReceiver, new IntentFilter(TalkBroadcastReceiver.BROADCAST_TALK)); + } if (mSettings.isHotCornerEnabled()) { mHotCorner.setShown(true); |