summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Grover <joeygrover@gmail.com>2019-10-11 11:46:17 -0400
committerJoey Grover <joeygrover@gmail.com>2019-10-11 11:46:17 -0400
commit3b6f97fd000678a453bb047b10ac802fb6fb12f6 (patch)
treef2bd4350756bd4267eef4811a2ff1e20be450ba5
parentd1ec82d968823edbfea450ae9c33561f6f348e01 (diff)
downloadsdl_android-3b6f97fd000678a453bb047b10ac802fb6fb12f6.tar.gz
Updates for review and test for subcell in clonebugfix/issue_1193
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/file/SdlArtworkTests.java1
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuCellTests.java30
-rw-r--r--android/sdl_android/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/MenuCell.java10
-rw-r--r--javaSE/src/main/java/com/smartdevicelink/managers/file/filetypes/SdlArtwork.java6
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");