diff options
author | Joey Grover <joeygrover@gmail.com> | 2019-10-11 11:46:17 -0400 |
---|---|---|
committer | Joey Grover <joeygrover@gmail.com> | 2019-10-11 11:46:17 -0400 |
commit | 3b6f97fd000678a453bb047b10ac802fb6fb12f6 (patch) | |
tree | f2bd4350756bd4267eef4811a2ff1e20be450ba5 | |
parent | d1ec82d968823edbfea450ae9c33561f6f348e01 (diff) | |
download | sdl_android-3b6f97fd000678a453bb047b10ac802fb6fb12f6.tar.gz |
Updates for review and test for subcell in clonebugfix/issue_1193
5 files changed, 44 insertions, 5 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/SdlArtworkTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/SdlArtworkTests.java index d31575503..395b06e27 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/SdlArtworkTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/SdlArtworkTests.java @@ -2,7 +2,6 @@ package com.smartdevicelink.managers.file; import com.smartdevicelink.AndroidTestCase2; import com.smartdevicelink.managers.file.filetypes.SdlArtwork; -import com.smartdevicelink.managers.file.filetypes.SdlFile; import com.smartdevicelink.proxy.rpc.enums.StaticIconName; import com.smartdevicelink.test.Test; diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java index 3800eea41..0a629d808 100644 --- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java +++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java @@ -38,6 +38,9 @@ import com.smartdevicelink.proxy.rpc.enums.MenuLayout; import com.smartdevicelink.proxy.rpc.enums.TriggerSource; import com.smartdevicelink.test.Test; +import java.util.ArrayList; +import java.util.List; + public class MenuCellTests extends AndroidTestCase2 { @@ -130,6 +133,33 @@ public class MenuCellTests extends AndroidTestCase2 { SdlArtworkTests.equalTest(original.getIcon(), clone.getIcon()); + //Test subcells + List<MenuCell> subcells = new ArrayList<>(); + subcells.add(original.clone()); + subcells.add(clone.clone()); + + original = new MenuCell(Test.GENERAL_STRING, MenuLayout.LIST, Test.GENERAL_ARTWORK,subcells); + clone = original.clone(); + + assertNotNull(original.getSubCells()); + assertNotNull(clone.getSubCells()); + assertNotSame(original.getSubCells(), clone.getSubCells()); + + List<MenuCell> originalSubCells = original.getSubCells(); + List<MenuCell> cloneSubCells = clone.getSubCells(); + + assertEquals(originalSubCells.size(), cloneSubCells.size()); + + for(int i = 0; i < originalSubCells.size(); i++){ + + assertNotNull(originalSubCells.get(i)); + assertNotNull(cloneSubCells.get(i)); + + assertNotSame(originalSubCells.get(i), cloneSubCells.get(i)); + } + + + } } diff --git a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java index a8f972984..e7db70ee6 100644 --- a/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java +++ b/android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java @@ -33,10 +33,8 @@ package com.smartdevicelink.managers.file.filetypes; import android.net.Uri; -import android.os.Build; import android.support.annotation.NonNull; -import com.smartdevicelink.BuildConfig; import com.smartdevicelink.proxy.rpc.Image; import com.smartdevicelink.proxy.rpc.enums.FileType; import com.smartdevicelink.proxy.rpc.enums.ImageType; diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java index a922c9d59..5265bb6b9 100644 --- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java +++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java @@ -330,8 +330,16 @@ public class MenuCell implements Cloneable{ try { MenuCell clone = (MenuCell) super.clone(); if(this.icon != null){ - clone.setIcon(this.icon.clone()); + clone.icon = this.icon.clone(); } + if(this.subCells != null){ + ArrayList<MenuCell> cloneSubCells = new ArrayList<>(); + for(MenuCell subCell : subCells){ + cloneSubCells.add(subCell.clone()); + } + clone.subCells = cloneSubCells; + } + return clone; } catch (CloneNotSupportedException e) { if(DebugTool.isDebugEnabled()){ diff --git a/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java b/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java index a43276321..eb947fe0a 100644 --- a/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java +++ b/javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java @@ -137,7 +137,11 @@ public class SdlArtwork extends SdlFile implements Cloneable{ @Override public SdlArtwork clone() { try{ - return (SdlArtwork) super.clone(); + SdlArtwork artwork = (SdlArtwork) super.clone(); + if(artwork != null){ + artwork.imageRPC = artwork.createImageRPC(); + } + return artwork; } catch (CloneNotSupportedException e) { if(DebugTool.isDebugEnabled()){ throw new RuntimeException("Clone not supported by super class"); |