Skip to content

Commit 3885dac

Browse files
committed
Export context registered broadcast receivers
1 parent 7dce975 commit 3885dac

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

android/sdl_android/src/main/java/com/smartdevicelink/managers/lockscreen/LockScreenManager.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import android.content.Intent;
3838
import android.content.IntentFilter;
3939
import android.graphics.Bitmap;
40+
import android.os.Build;
4041
import android.os.Handler;
4142
import android.os.Looper;
4243

@@ -332,9 +333,12 @@ private void launchLockScreenActivity() {
332333
// pass in icon, background color, and custom view
333334
if (lockScreenEnabled && isApplicationForegrounded && context.get() != null) {
334335
if (isLockscreenDismissible && !lockscreenDismissReceiverRegistered) {
335-
context.get().registerReceiver(mLockscreenDismissedReceiver, new IntentFilter(SDLLockScreenActivity.KEY_LOCKSCREEN_DISMISSED));
336+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
337+
context.get().registerReceiver(mLockscreenDismissedReceiver, new IntentFilter(SDLLockScreenActivity.KEY_LOCKSCREEN_DISMISSED), Context.RECEIVER_EXPORTED);
338+
} else {
339+
context.get().registerReceiver(mLockscreenDismissedReceiver, new IntentFilter(SDLLockScreenActivity.KEY_LOCKSCREEN_DISMISSED));
340+
}
336341
lockscreenDismissReceiverRegistered = true;
337-
338342
}
339343
LockScreenStatus status = getLockScreenStatus();
340344
if (status == LockScreenStatus.REQUIRED || displayMode == LockScreenConfig.DISPLAY_MODE_ALWAYS || (status == LockScreenStatus.OPTIONAL && displayMode == LockScreenConfig.DISPLAY_MODE_OPTIONAL_OR_REQUIRED)) {

android/sdl_android/src/main/java/com/smartdevicelink/transport/SdlRouterService.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1210,7 +1210,11 @@ public void startUpSequence() {
12101210

12111211
IntentFilter filter = new IntentFilter();
12121212
filter.addAction(REGISTER_WITH_ROUTER_ACTION);
1213-
registerReceiver(mainServiceReceiver, filter);
1213+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
1214+
registerReceiver(mainServiceReceiver, filter, RECEIVER_EXPORTED);
1215+
} else {
1216+
registerReceiver(mainServiceReceiver, filter);
1217+
}
12141218

12151219
if (!connectAsClient) {
12161220
if (bluetoothAvailable()) {

android/sdl_android/src/main/java/com/smartdevicelink/util/ServiceFinder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import android.content.Intent;
3838
import android.content.IntentFilter;
3939
import android.content.pm.ResolveInfo;
40+
import android.os.Build;
4041
import android.os.Handler;
4142
import android.os.Looper;
4243

@@ -74,7 +75,11 @@ public ServiceFinder(Context context, String packageName, final ServiceFinderCal
7475

7576
this.sdlMultiMap = AndroidTools.getSdlEnabledApps(context, packageName);
7677

77-
this.context.registerReceiver(mainServiceReceiver, new IntentFilter(this.receiverLocation));
78+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
79+
this.context.registerReceiver(mainServiceReceiver, new IntentFilter(this.receiverLocation), Context.RECEIVER_EXPORTED);
80+
} else {
81+
this.context.registerReceiver(mainServiceReceiver, new IntentFilter(this.receiverLocation));
82+
}
7883

7984
timeoutRunnable = new Runnable() {
8085
@Override

0 commit comments

Comments
 (0)