From 2a0b6552d79e8f2de4904dc32f6cbb4e0824e605 Mon Sep 17 00:00:00 2001 From: Julian Kast Date: Wed, 21 Sep 2022 16:45:33 -0400 Subject: [PATCH] Update current screen data in T&G manager with template config (#1834) * update current screen data in T&G manager with template config * Fix unit test to cover template config change * Remove line form unit test that didn't make sense * Fix unitTest from mergConflicts --- .../screen/TextAndGraphicUpdateOperationTest.java | 15 ++++++++------- .../screen/TextAndGraphicUpdateOperation.java | 3 +++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperationTest.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperationTest.java index 464dbb11f6..d2a821e235 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperationTest.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperationTest.java @@ -69,7 +69,7 @@ public class TextAndGraphicUpdateOperationTest { private CompletionListener listener; private TextAndGraphicManager.CurrentScreenDataUpdatedListener currentScreenDataUpdatedListener; private SdlArtwork blankArtwork; - private TemplateConfiguration configuration, configurationFail; + private TemplateConfiguration configuration, configurationFail, configurationOld; ISdl internalInterface; FileManager fileManager; @@ -246,6 +246,8 @@ public void setUp() throws Exception { configuration = new TemplateConfiguration(); configuration.setTemplate(PredefinedLayout.GRAPHIC_WITH_TEXT.toString()); + configurationOld = new TemplateConfiguration(); + configurationOld.setTemplate(PredefinedLayout.TEXT_WITH_GRAPHIC.toString()); configurationFail = new TemplateConfiguration(); configurationFail.setTemplate("failConfiguration"); @@ -276,7 +278,7 @@ public void setUp() throws Exception { currentScreenData.setPrimaryGraphic(testArtwork1); currentScreenData.setSecondaryGraphic(testArtwork2); - currentScreenData.setTemplateConfiguration(configuration); + currentScreenData.setTemplateConfiguration(configurationOld); currentScreenDataUpdatedListener = new TextAndGraphicManager.CurrentScreenDataUpdatedListener() { @Override @@ -1047,7 +1049,6 @@ public void testOnShowFail() { mediaTrackField, title, testArtwork3, testArtwork4, textAlignment, textField1Type, textField2Type, textField3Type, textField4Type, configuration); textAndGraphicUpdateOperation = new TextAndGraphicUpdateOperation(internalInterface, fileManager, defaultMainWindowCapability, currentScreenData, textsAndGraphicsState, listener, currentScreenDataUpdatedListener); textAndGraphicUpdateOperation.onExecute(); - assertEquals(textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration().getStore(), configuration.getStore()); // Verifies that uploadArtworks does not get called because a sendShow failed with text and layout change verify(fileManager, times(0)).uploadArtworks(any(List.class), any(MultipleFileCompletionListener.class)); @@ -1080,7 +1081,7 @@ public void testOnShowFailBadDataDoesNotUpdateScreen(){ TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField2Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField3Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField4Type()); - assertEquals(configuration, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); + assertEquals(configurationOld, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); } @Test @@ -1120,7 +1121,7 @@ public void testUpdateTargetStateWithErrorStateNullDoesNotUpdateCurrentScreen() TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField2Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField3Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField4Type()); - assertEquals(configuration, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); + assertEquals(configurationOld, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); } @Test @@ -1160,7 +1161,7 @@ public void testUpdateTargetStateWithErrorBadDataDoesNotUpdateCurrentScreen() { TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField2Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField3Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField4Type()); - assertEquals(configuration, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); + assertEquals(configurationOld, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); } @Test @@ -1200,6 +1201,6 @@ public void testUpdateTargetStateWithErrorBadDataAndGoodData() { TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField2Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField3Type()); TestCase.assertNull(textAndGraphicUpdateOperation.getCurrentScreenData().getTextField4Type()); - assertEquals(configuration, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); + assertEquals(configurationOld, textAndGraphicUpdateOperation.getCurrentScreenData().getTemplateConfiguration()); } } diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperation.java b/base/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperation.java index 729b81e1c5..be6d6115fb 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperation.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/TextAndGraphicUpdateOperation.java @@ -633,6 +633,9 @@ private void updateCurrentScreenDataFromShow(Show show) { if (show.getSecondaryGraphic() != null) { currentScreenData.setSecondaryGraphic(updatedState.getSecondaryGraphic()); } + if (show.getTemplateConfiguration() != null) { + currentScreenData.setTemplateConfiguration(updatedState.getTemplateConfiguration()); + } if (currentScreenDataUpdateListener != null) { currentScreenDataUpdateListener.onUpdate(currentScreenData); }