diff options
author | Julian Kast <julian@livio.com> | 2020-06-24 13:02:01 -0400 |
---|---|---|
committer | Julian Kast <julian@livio.com> | 2020-06-24 13:02:01 -0400 |
commit | ab4ac0649751b3aae62e61420eb49c967917854f (patch) | |
tree | 26cb01e6a1afdbb0d12b39a0cbcb4952b7312cb1 | |
parent | bb3ee4c1727a83c7b592093f4ce52a6a46c33a26 (diff) | |
download | sdl_android-ab4ac0649751b3aae62e61420eb49c967917854f.tar.gz |
Added subscribe button capabilities to all hard buttons in example app
-rwxr-xr-x | android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlService.java | 47 |
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); |