summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Kast <julian@livio.com>2021-03-23 13:43:27 -0400
committerJulian Kast <julian@livio.com>2021-03-23 13:43:27 -0400
commit862409a73b08dfd56de7f8290e21b0eb28f0bf2a (patch)
treef9c4c11be6c3e932ea92ff74970a79ee3846b3eb
parentd8a0fd1ae70937ba953612564089ce1c6569fbd7 (diff)
downloadsdl_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.java6
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();