Skip to content

Commit 19498a9

Browse files
author
Julian Kast
committed
BaseChoiceSetManager, Strip away unsupported textFields from choices
1 parent 449eebd commit 19498a9

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

base/src/main/java/com/smartdevicelink/managers/screen/choiceset/BaseChoiceSetManager.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
import com.smartdevicelink.managers.BaseSubManager;
4343
import com.smartdevicelink.managers.CompletionListener;
4444
import com.smartdevicelink.managers.ISdl;
45+
import com.smartdevicelink.managers.ManagerUtility;
4546
import com.smartdevicelink.managers.file.FileManager;
4647
import com.smartdevicelink.managers.lifecycle.OnSystemCapabilityListener;
4748
import com.smartdevicelink.managers.lifecycle.SystemCapabilityManager;
@@ -61,6 +62,7 @@
6162
import com.smartdevicelink.proxy.rpc.enums.PredefinedWindows;
6263
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
6364
import com.smartdevicelink.proxy.rpc.enums.SystemContext;
65+
import com.smartdevicelink.proxy.rpc.enums.TextFieldName;
6466
import com.smartdevicelink.proxy.rpc.enums.TriggerSource;
6567
import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener;
6668
import com.smartdevicelink.util.DebugTool;
@@ -672,6 +674,18 @@ public void onNotified(RPCNotification notification) {
672674

673675
// ADDITIONAL HELPERS
674676

677+
boolean shouldSendChoiceSecondaryText() {
678+
return templateSupportsTextField(TextFieldName.secondaryText);
679+
}
680+
681+
boolean shouldSendChoiceTertiaryText() {
682+
return templateSupportsTextField(TextFieldName.tertiaryText);
683+
}
684+
685+
boolean templateSupportsTextField(TextFieldName name) {
686+
return defaultMainWindowCapability == null || ManagerUtility.WindowCapabilityUtility.hasTextFieldOfName(defaultMainWindowCapability, name);
687+
}
688+
675689
boolean setUpChoiceSet(ChoiceSet choiceSet) {
676690

677691
List<ChoiceCell> choices = choiceSet.getChoices();
@@ -695,6 +709,13 @@ boolean setUpChoiceSet(ChoiceSet choiceSet) {
695709
int choiceCellWithVoiceCommandCount = 0;
696710

697711
for (ChoiceCell cell : choices) {
712+
if (!shouldSendChoiceSecondaryText() && cell.getSecondaryText() != null) {
713+
cell.setSecondaryText(null);
714+
}
715+
716+
if (!shouldSendChoiceTertiaryText() && cell.getTertiaryText() != null) {
717+
cell.setSecondaryText(null);
718+
}
698719

699720
uniqueChoiceCells.add(cell);
700721

0 commit comments

Comments
 (0)