diff options
author | Julian Kast <julian@livio.com> | 2021-03-23 13:43:27 -0400 |
---|---|---|
committer | Julian Kast <julian@livio.com> | 2021-03-23 13:43:27 -0400 |
commit | 862409a73b08dfd56de7f8290e21b0eb28f0bf2a (patch) | |
tree | f9c4c11be6c3e932ea92ff74970a79ee3846b3eb | |
parent | d8a0fd1ae70937ba953612564089ce1c6569fbd7 (diff) | |
download | sdl_android-862409a73b08dfd56de7f8290e21b0eb28f0bf2a.tar.gz |
Fix issue of overlapping softButton ID's in the screenManagerbugfix/issue_1643
-rw-r--r-- | base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java index d24ca4d98..4372cda9f 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java @@ -742,15 +742,17 @@ abstract class BaseScreenManager extends BaseSubManager { * @return True if ButtonID's are good, False if not. */ static boolean checkAndAssignButtonIds(List<SoftButtonObject> softButtonObjects, @ManagerLocation int location) { + HashSet<Integer> buttonIdsSetHashSet = new HashSet<>(); // Depending on location form which the softButtons came from, we will clear out the id list so they can be reset if (location == ManagerLocation.ALERT_MANAGER) { softButtonIDByAlertManager.clear(); + buttonIdsSetHashSet = (HashSet) softButtonIDBySoftButtonManager.clone(); } else if (location == ManagerLocation.SOFTBUTTON_MANAGER) { softButtonIDBySoftButtonManager.clear(); + buttonIdsSetHashSet = (HashSet) softButtonIDByAlertManager.clone(); } // Check if multiple soft button objects have the same id - HashSet<Integer> buttonIdsSetHashSet = new HashSet<>(); - int currentSoftButtonId, numberOfButtonIdsSet = 0, maxButtonIdsSetByDev = SOFT_BUTTON_ID_MIN_VALUE; + int currentSoftButtonId, numberOfButtonIdsSet = buttonIdsSetHashSet.size(), maxButtonIdsSetByDev = SOFT_BUTTON_ID_MIN_VALUE; for (SoftButtonObject softButtonObject : softButtonObjects) { currentSoftButtonId = softButtonObject.getButtonId(); |