diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java b/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java index 8e904a45fa..f31c048f5f 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/util/IntegrationValidator.java @@ -114,6 +114,15 @@ private static ValidationResult checkPermissions(Context context) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { permissionList.add(Manifest.permission.FOREGROUND_SERVICE); } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + permissionList.add(Manifest.permission.BLUETOOTH_CONNECT); + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + permissionList.add(Manifest.permission.POST_NOTIFICATIONS); + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + permissionList.add(Manifest.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE); + } try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getApplicationContext().getPackageName(), PackageManager.GET_PERMISSIONS); String[] permissionInfos = packageInfo.requestedPermissions; @@ -161,6 +170,10 @@ public static ValidationResult checkBroadcastReceiver(Context context) { int j = 0; for (ResolveInfo sdlReceiver : sdlReceivers) { if (receiver.name.equals(sdlReceiver.activityInfo.name)) { + if (!receiver.exported) { + retVal.successful = false; + retVal.resultText = "This application has not marked its SdlBroadcastReceiver as exported"; + } return retVal; } } @@ -185,6 +198,11 @@ private static ValidationResult checkRoutServiceMetadata(Context context, Class retVal.successful = false; retVal.resultText = "This application has not specified its metadata tags for the SdlRouterService."; } + + if (!info.serviceInfo.exported) { + retVal.successful = false; + retVal.resultText = "This application has not marked its SdlRouterService as exported."; + } } else { retVal.successful = false; retVal.resultText = "This application has not specified its SdlRouterService correctly in the manifest.";