From 56a766d03cee7c754fd23feb07d6b1230e93c5dd Mon Sep 17 00:00:00 2001 From: jens Date: Thu, 13 Aug 2026 18:58:55 +0200 Subject: [PATCH] registerReceiver option added --- .../com/jens/automation2/receivers/BatteryReceiver.java | 9 +++++++-- .../jens/automation2/receivers/BluetoothReceiver.java | 9 ++++++++- .../jens/automation2/receivers/ConnectivityReceiver.java | 6 +++++- .../automation2/receivers/HeadphoneJackListener.java | 7 ++++++- .../jens/automation2/receivers/PhoneStatusListener.java | 7 ++++++- .../jens/automation2/receivers/ScreenStateReceiver.java | 7 ++++++- .../automation2/receivers/SubSystemStateReceiver.java | 6 +++++- .../jens/automation2/receivers/TetheringReceiver.java | 6 +++++- .../com/jens/automation2/receivers/TimeZoneListener.java | 8 ++++++-- 9 files changed, 54 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java b/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java index e168c75..d5947de 100644 --- a/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/BatteryReceiver.java @@ -1,5 +1,6 @@ package com.jens.automation2.receivers; +import static android.content.Context.RECEIVER_NOT_EXPORTED; import static android.os.BatteryManager.*; import android.os.BatteryManager; @@ -8,6 +9,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.os.Build; import android.util.Log; import com.jens.automation2.ActivityPermissions; @@ -30,7 +32,7 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList static boolean usbHostConnected = false; static boolean batteryReceiverActive = false; static IntentFilter batteryIntentFilter = null; - static Intent batteryStatus = null; + static Intent batteryStatusReceiverIntent = null; private static int currentChargingState = 0; //0=unknown, 1=no, 2=yes private static int currentChargingType = 0; //AC, wireless, USB @@ -52,7 +54,10 @@ public class BatteryReceiver extends BroadcastReceiver implements AutomationList batteryIntentFilter.addAction(Intent.ACTION_BATTERY_LOW); } - batteryStatus = automationServiceRef.registerReceiver(batteryInfoReceiverInstance, batteryIntentFilter); + if(Build.VERSION.SDK_INT >= 26) + batteryStatusReceiverIntent = automationServiceRef.registerReceiver(batteryInfoReceiverInstance, batteryIntentFilter, Context.RECEIVER_NOT_EXPORTED); + else + batteryStatusReceiverIntent = automationServiceRef.registerReceiver(batteryInfoReceiverInstance, batteryIntentFilter); batteryReceiverActive = true; } diff --git a/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java b/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java index 0317b96..b903c5f 100644 --- a/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/BluetoothReceiver.java @@ -1,11 +1,14 @@ package com.jens.automation2.receivers; +import static android.content.Context.RECEIVER_EXPORTED; + import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.os.Build; import android.util.Log; import android.widget.Toast; @@ -57,7 +60,11 @@ public class BluetoothReceiver extends BroadcastReceiver implements AutomationLi { Miscellaneous.logEvent("i", "BluetoothReceiver", "Starting BluetoothReceiver", 4); bluetoothReceiverActive = true; - AutomationService.getInstance().registerReceiver(bluetoothReceiverInstance, bluetoothReceiverIntentFilter); + + if(Build.VERSION.SDK_INT >= 26) + AutomationService.getInstance().registerReceiver(bluetoothReceiverInstance, bluetoothReceiverIntentFilter, Context.RECEIVER_EXPORTED); + else + AutomationService.getInstance().registerReceiver(bluetoothReceiverInstance, bluetoothReceiverIntentFilter); } } catch(Exception ex) diff --git a/app/src/main/java/com/jens/automation2/receivers/ConnectivityReceiver.java b/app/src/main/java/com/jens/automation2/receivers/ConnectivityReceiver.java index 41e4314..2e2a00e 100644 --- a/app/src/main/java/com/jens/automation2/receivers/ConnectivityReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/ConnectivityReceiver.java @@ -57,7 +57,11 @@ public class ConnectivityReceiver extends BroadcastReceiver implements Automatio { Miscellaneous.logEvent("i", "Wifi Listener", "Starting connectivityReceiver", 4); connectivityReceiverActive = true; - automationServiceRef.registerReceiver(connectivityReceiverInstance, connectivityIntentFilter); + + if(Build.VERSION.SDK_INT >= 26) + automationServiceRef.registerReceiver(connectivityReceiverInstance, connectivityIntentFilter, Context.RECEIVER_EXPORTED); + else + automationServiceRef.registerReceiver(connectivityReceiverInstance, connectivityIntentFilter); } } catch(Exception ex) diff --git a/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java b/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java index 8608c6b..684d5f2 100644 --- a/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java +++ b/app/src/main/java/com/jens/automation2/receivers/HeadphoneJackListener.java @@ -5,6 +5,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.os.Build; import android.util.Log; import com.jens.automation2.ActivityPermissions; @@ -105,7 +106,11 @@ public class HeadphoneJackListener extends BroadcastReceiver implements Automati { Miscellaneous.logEvent("i", "HeadsetJackListener", "Starting HeadsetJackListener", 4); headphoneJackListenerActive = true; - automationService.registerReceiver(this, headphoneJackListenerIntentFilter); + + if(Build.VERSION.SDK_INT >= 26) + automationService.registerReceiver(this, headphoneJackListenerIntentFilter, Context.RECEIVER_NOT_EXPORTED); + else + automationService.registerReceiver(this, headphoneJackListenerIntentFilter); } } catch(Exception ex) diff --git a/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java b/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java index be3cc41..5a83c0f 100644 --- a/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java +++ b/app/src/main/java/com/jens/automation2/receivers/PhoneStatusListener.java @@ -285,7 +285,12 @@ public class PhoneStatusListener implements AutomationListenerInterface if(!outgoingCallsReceiverActive) { Miscellaneous.logEvent("i", "PhoneStatusListener", "Starting PhoneStatusListener->outgoingCallsReceiver", 4); - automationService.registerReceiver(outgoingCallsReceiverInstance, outgoingCallsIntentFilter); + + if(Build.VERSION.SDK_INT >= 26) + automationService.registerReceiver(outgoingCallsReceiverInstance, outgoingCallsIntentFilter, Context.RECEIVER_NOT_EXPORTED); + else + automationService.registerReceiver(outgoingCallsReceiverInstance, outgoingCallsIntentFilter); + outgoingCallsReceiverActive = true; } } diff --git a/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java b/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java index 599c07c..a2750c5 100644 --- a/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/ScreenStateReceiver.java @@ -1,5 +1,7 @@ package com.jens.automation2.receivers; +import static android.content.Context.RECEIVER_NOT_EXPORTED; + import android.Manifest; import android.app.KeyguardManager; import android.content.BroadcastReceiver; @@ -71,7 +73,10 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation // Intent.ACTION_USER_UNLOCKED } - screenStatusIntent = automationServiceRef.registerReceiver(screenStateReceiverInstance, screenStateIntentFilter); + if(Build.VERSION.SDK_INT >= 26) + screenStatusIntent = automationServiceRef.registerReceiver(screenStateReceiverInstance, screenStateIntentFilter, Context.RECEIVER_NOT_EXPORTED); + else + screenStatusIntent = automationServiceRef.registerReceiver(screenStateReceiverInstance, screenStateIntentFilter); screenStateReceiverActive = true; } diff --git a/app/src/main/java/com/jens/automation2/receivers/SubSystemStateReceiver.java b/app/src/main/java/com/jens/automation2/receivers/SubSystemStateReceiver.java index 7a382e3..f1a4ddb 100644 --- a/app/src/main/java/com/jens/automation2/receivers/SubSystemStateReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/SubSystemStateReceiver.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.wifi.WifiManager; +import android.os.Build; import com.jens.automation2.AutomationService; import com.jens.automation2.Miscellaneous; @@ -116,7 +117,10 @@ public class SubSystemStateReceiver extends BroadcastReceiver implements Automat subSystemStateIntentFilter.addAction(stateBluetooth); } - subSystemStatusIntent = automationServiceRef.registerReceiver(subSystemStateReceiverInstance, subSystemStateIntentFilter); + if(Build.VERSION.SDK_INT >= 26) + subSystemStatusIntent = automationServiceRef.registerReceiver(subSystemStateReceiverInstance, subSystemStateIntentFilter, Context.RECEIVER_NOT_EXPORTED); + else + subSystemStatusIntent = automationServiceRef.registerReceiver(subSystemStateReceiverInstance, subSystemStateIntentFilter); subSystemStateReceiverActive = true; } diff --git a/app/src/main/java/com/jens/automation2/receivers/TetheringReceiver.java b/app/src/main/java/com/jens/automation2/receivers/TetheringReceiver.java index c319708..20ff238 100644 --- a/app/src/main/java/com/jens/automation2/receivers/TetheringReceiver.java +++ b/app/src/main/java/com/jens/automation2/receivers/TetheringReceiver.java @@ -162,7 +162,11 @@ public class TetheringReceiver extends android.content.BroadcastReceiver impleme try { - automationServiceRef.registerReceiver(receiverInstance, intentFilter); + if(Build.VERSION.SDK_INT >= 26) + automationServiceRef.registerReceiver(receiverInstance, intentFilter, Context.RECEIVER_NOT_EXPORTED); + else + automationServiceRef.registerReceiver(receiverInstance, intentFilter); + receiverActive = true; } catch(Exception e) diff --git a/app/src/main/java/com/jens/automation2/receivers/TimeZoneListener.java b/app/src/main/java/com/jens/automation2/receivers/TimeZoneListener.java index 3e5ea9b..9a899e3 100644 --- a/app/src/main/java/com/jens/automation2/receivers/TimeZoneListener.java +++ b/app/src/main/java/com/jens/automation2/receivers/TimeZoneListener.java @@ -4,6 +4,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; +import android.os.Build; import android.util.Log; import com.jens.automation2.AutomationService; @@ -43,8 +44,11 @@ public class TimeZoneListener extends BroadcastReceiver implements AutomationLis timezoneListenerIntentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED); timezoneListenerIntentFilter.addAction(Intent.ACTION_TIME_CHANGED); } - - automationService.registerReceiver(timeZoneListenerInstance, timezoneListenerIntentFilter); + + if(Build.VERSION.SDK_INT >= 26) + automationService.registerReceiver(timeZoneListenerInstance, timezoneListenerIntentFilter, Context.RECEIVER_NOT_EXPORTED); + else + automationService.registerReceiver(timeZoneListenerInstance, timezoneListenerIntentFilter); } } catch(Exception ex)