summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilal Alsharifi <bilal.alsharifi@gmail.com>2019-03-25 09:33:41 -0400
committerBilal Alsharifi <bilal.alsharifi@gmail.com>2019-03-25 09:33:41 -0400
commit3c57f24987121a179c7c93a008457188ced8b242 (patch)
tree45fdda64109b3a362d005aa8947926aba3d61ff7
parent995be02a31a62907c9b2df6c3e6b0238daf347f9 (diff)
downloadsdl_android-3c57f24987121a179c7c93a008457188ced8b242.tar.gz
Fix potential npe in permission manager
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/permission/BasePermissionManager.java9
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();