summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Kast <julian@livio.com>2020-06-24 13:02:01 -0400
committerJulian Kast <julian@livio.com>2020-06-24 13:02:01 -0400
commitab4ac0649751b3aae62e61420eb49c967917854f (patch)
tree26cb01e6a1afdbb0d12b39a0cbcb4952b7312cb1
parentbb3ee4c1727a83c7b592093f4ce52a6a46c33a26 (diff)
downloadsdl_android-ab4ac0649751b3aae62e61420eb49c967917854f.tar.gz
Added subscribe button capabilities to all hard buttons in example app
-rwxr-xr-xandroid/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlService.java47
1 files changed, 31 insertions, 16 deletions
diff --git a/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlService.java b/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlService.java
index 115fc270d..f59202735 100755
--- a/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlService.java
+++ b/android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlService.java
@@ -81,7 +81,7 @@ public class SdlService extends Service {
// variable to create and call functions of the SyncProxy
private SdlManager sdlManager = null;
private List<ChoiceCell> choiceCellList;
- OnButtonListener listener;
+ private OnButtonListener onButtonListener;
@Override
public IBinder onBind(Intent intent) {
@@ -188,6 +188,7 @@ public class SdlService extends Service {
performWelcomeSpeak();
performWelcomeShow();
preloadChoices();
+ subscribeToAllButtons();
}
}
});
@@ -297,7 +298,6 @@ public class SdlService extends Service {
@Override
public void onTriggered(TriggerSource trigger) {
Log.i(TAG, "Test cell 1 triggered. Source: "+ trigger.toString());
- sdlManager.getScreenManager().removeButtonListener(ButtonName.VOLUME_DOWN, listener);
showTest();
}
});
@@ -345,8 +345,18 @@ public class SdlService extends Service {
}
});
+ MenuCell mainCell6 = new MenuCell("Remove all button listeners", null, null, new MenuSelectionListener() {
+ @Override
+ public void onTriggered(TriggerSource trigger) {
+ ButtonName[] buttonNames = ButtonName.values();
+ for(ButtonName buttonName : buttonNames){
+ sdlManager.getScreenManager().removeButtonListener(buttonName,onButtonListener);
+ }
+ }
+ });
+
// Send the entire menu off to be created
- sdlManager.getScreenManager().setMenu(Arrays.asList(mainCell1, mainCell2, mainCell3, mainCell4, mainCell5));
+ sdlManager.getScreenManager().setMenu(Arrays.asList(mainCell1, mainCell2, mainCell3, mainCell4, mainCell5, mainCell6));
}
/**
@@ -357,35 +367,40 @@ public class SdlService extends Service {
}
/**
- * Use the Screen Manager to set the initial screen text and set the image.
- * Because we are setting multiple items, we will call beginTransaction() first,
- * and finish with commit() when we are done.
+ * Attempts to add a listener to all hard buttons
*/
- private void performWelcomeShow() {
- listener = new OnButtonListener() {
+ private void subscribeToAllButtons(){
+ onButtonListener = new OnButtonListener() {
@Override
public void onPress(ButtonName buttonName, OnButtonPress buttonPress) {
- Log.i("SdlService", "onPress: ");
+ Log.i(TAG, "onPress: " + buttonName + " " + buttonPress);
}
@Override
public void onEvent(ButtonName buttonName, OnButtonEvent buttonEvent) {
- Log.i("SdlService", "onEvent: ");
+ Log.i(TAG, "onEvent" + buttonName + " " + buttonEvent);
+
}
@Override
public void onError(String info) {
- Log.i("SdlService", "onError: ");
-
+ Log.i(TAG, "onError: "+ info);
}
};
- sdlManager.getScreenManager().addButtonListener(null,null);
-
- sdlManager.getScreenManager().addButtonListener(ButtonName.VOLUME_DOWN, null);
- sdlManager.getScreenManager().addButtonListener(ButtonName.VOLUME_DOWN, listener);
+ ButtonName[] buttonNames = ButtonName.values();
+ for(ButtonName buttonName : buttonNames){
+ sdlManager.getScreenManager().addButtonListener(buttonName,onButtonListener);
+ }
+ }
+ /**
+ * Use the Screen Manager to set the initial screen text and set the image.
+ * Because we are setting multiple items, we will call beginTransaction() first,
+ * and finish with commit() when we are done.
+ */
+ private void performWelcomeShow() {
sdlManager.getScreenManager().beginTransaction();
sdlManager.getScreenManager().setTextField1(APP_NAME);
sdlManager.getScreenManager().setTextField2(WELCOME_SHOW);