summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java2
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java12
-rw-r--r--base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java13
3 files changed, 14 insertions, 13 deletions
diff --git a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
index 0bffe87df..6dfea3775 100644
--- a/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
+++ b/android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/screen/menu/MenuManagerTests.java
@@ -515,7 +515,7 @@ public class MenuManagerTests extends AndroidTestCase2 {
MenuCell subCell1 = new MenuCell("SubCell 1",null, null, menuSelectionListenerSub1);
MenuCell subCell2 = new MenuCell("SubCell 2",null, null, menuSelectionListenerSub2);
- mainCell4 = new MenuCell("Test Cell 4", livio, Arrays.asList(subCell1,subCell2)); // sub menu parent cell
+ mainCell4 = new MenuCell("Test Cell 4", null, livio, Arrays.asList(subCell1,subCell2)); // sub menu parent cell
mainCell4.setCellId(4);
return Arrays.asList(mainCell1, mainCell2, mainCell3, mainCell4);
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 ee394d5bd..90cc5294d 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/BaseScreenManager.java
@@ -446,19 +446,21 @@ abstract class BaseScreenManager extends BaseSubManager {
/**
* Requires SDL RPC Version 6.0.0 or greater
- * Opens the Main Menu
+ * Opens the Main Menu.
+ * @return boolean success / failure - whether the request was able to be sent
*/
- public void openMenu(){
- this.menuManager.openMenu();
+ public boolean openMenu(){
+ return this.menuManager.openMenu();
}
/**
* Requires SDL RPC Version 6.0.0 or greater
* Opens a subMenu. The cell you pass in must be constructed with {@link MenuCell(String,SdlArtwork,List)}
* @param cell - A <Strong>SubMenu</Strong> cell whose sub menu you wish to open
+ * @return boolean success / failure - whether the request was able to be sent
*/
- public void openSubMenu(@NonNull MenuCell cell){
- this.menuManager.openSubMenu(cell);
+ public boolean openSubMenu(@NonNull MenuCell cell){
+ return this.menuManager.openSubMenu(cell);
}
/**
diff --git a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
index 144c7c377..faf0327f3 100644
--- a/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
+++ b/base/src/main/java/com/smartdevicelink/managers/screen/menu/BaseMenuManager.java
@@ -262,11 +262,11 @@ abstract class BaseMenuManager extends BaseSubManager {
/**
* Opens the Main Menu
*/
- public void openMenu(){
+ public boolean openMenu(){
if (sdlMsgVersion.getMajorVersion() < 6){
DebugTool.logWarning("Menu opening is only supported on head units with RPC spec version 6.0.0 or later. Currently connected head unit RPC spec version is: "+sdlMsgVersion.getMajorVersion() + "." + sdlMsgVersion.getMinorVersion()+ "." +sdlMsgVersion.getPatchVersion());
- return;
+ return false;
}
ShowAppMenu showAppMenu = new ShowAppMenu();
@@ -286,6 +286,7 @@ abstract class BaseMenuManager extends BaseSubManager {
}
});
internalInterface.sendRPC(showAppMenu);
+ return true;
}
/**
@@ -305,12 +306,10 @@ abstract class BaseMenuManager extends BaseSubManager {
}
// We must see if we have a copy of this cell, since we clone the objects
for (MenuCell clonedCell : oldMenuCells){
- if (clonedCell.equals(cell)){
+ if (clonedCell.equals(cell) && clonedCell.getCellId() != MAX_ID){
// We've found the correct sub menu cell
- if (clonedCell.getCellId() != MAX_ID) {
- sendOpenSubMenu(clonedCell.getCellId());
- return true;
- }
+ sendOpenSubMenu(clonedCell.getCellId());
+ return true;
}
}
return false;