diff options
author | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-03-25 09:33:41 -0400 |
---|---|---|
committer | Bilal Alsharifi <bilal.alsharifi@gmail.com> | 2019-03-25 09:33:41 -0400 |
commit | 3c57f24987121a179c7c93a008457188ced8b242 (patch) | |
tree | 45fdda64109b3a362d005aa8947926aba3d61ff7 | |
parent | 995be02a31a62907c9b2df6c3e6b0238daf347f9 (diff) | |
download | sdl_android-3c57f24987121a179c7c93a008457188ced8b242.tar.gz |
Fix potential npe in permission manager
-rw-r--r-- | base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java b/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java index e2a4b8fab..d94eef436 100644 --- a/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java @@ -112,8 +112,13 @@ abstract class BasePermissionManager extends BaseSubManager{ List<PermissionItem> permissionItems = ((OnPermissionsChange)notification).getPermissionItem(); Map<FunctionID, PermissionItem> previousPermissionItems = currentPermissionItems; currentPermissionItems = new HashMap<>(); - for (PermissionItem permissionItem : permissionItems) { - currentPermissionItems.put(FunctionID.getEnumForString(permissionItem.getRpcName()), permissionItem); + if (permissionItems != null && !permissionItems.isEmpty()) { + for (PermissionItem permissionItem : permissionItems) { + FunctionID functionID = FunctionID.getEnumForString(permissionItem.getRpcName()); + if (functionID != null) { + currentPermissionItems.put(functionID, permissionItem); + } + } } notifyListeners(previousPermissionItems, currentHMILevel, currentPermissionItems, currentHMILevel); previousPermissionItems.clear(); |