5050import com .st .BlueMS .demos .Audio .Beamforming .BeamformingFragment ;
5151import com .st .BlueMS .demos .Audio .BlueVoice .BlueVoiceFragment ;
5252import com .st .BlueMS .demos .Audio .BlueVoice .fullBand .BlueVoiceFullBandFragment ;
53+ import com .st .BlueMS .demos .Audio .BlueVoice .fullDuplex .BlueVoiceFullDuplexFragment ;
5354import com .st .BlueMS .demos .Audio .SpeechToText .SpeechToTextFragment ;
5455import com .st .BlueMS .demos .AudioClassification .AudioClassificationFragment ;
5556import com .st .BlueMS .demos .COSensor .COSensorDemoFragment ;
5657import com .st .BlueMS .demos .CarryPositionFragment ;
5758import com .st .BlueMS .demos .Cloud .CloudLogFragment ;
59+ import com .st .BlueMS .demos .ColorAmbientLight .ColorAmbientLightFragment ;
60+ import com .st .BlueMS .demos .ExtConfig .ExtConfigurationFragment ;
5861import com .st .BlueMS .demos .HighSpeedDataLog .HighSpeedDataLogFragment ;
5962import com .st .BlueMS .demos .Level .LevelDemoFragment ;
6063import com .st .BlueMS .demos .PredictiveMaintenance .PredictiveMaintenanceFragment ;
64+ import com .st .BlueMS .demos .QVARFragment ;
6165import com .st .BlueMS .demos .SDLog .SDLogFragment ;
66+ import com .st .BlueMS .demos .TimeOfFlightMultiObject .TimeOfFlightMultiObjectFragment ;
6267import com .st .BlueMS .demos .aiDataLog .AIDataLogDemoFragment ;
6368import com .st .BlueMS .demos .fftAmpitude .FFTAmplitudeFragment ;
6469import com .st .BlueMS .demos .fitnessActivity .FitnessActivityFragment ;
8085import com .st .BlueMS .demos .plot .PlotFeatureFragment ;
8186import com .st .BlueMS .preference .nucleo .SettingsWithNucleoConfiguration ;
8287import com .st .BlueSTSDK .ExportedFeature ;
83- import com .st .BlueSTSDK .Features .Audio .Opus .ExportedFeatureAudioOpus ;
88+ import com .st .BlueSTSDK .Features .Audio .Opus .ExportedAudioOpusConf ;
89+ import com .st .BlueSTSDK .Features .Audio .Opus .ExportedFeatureAudioOpusMusic ;
90+ import com .st .BlueSTSDK .Features .ExtConfiguration .FeatureExtConfiguration ;
8491import com .st .BlueSTSDK .Node ;
8592import com .st .BlueSTSDK .NodeServer ;
8693import com .st .BlueSTSDK .Utils .ConnectionOption ;
94+ import com .st .BlueSTSDK .gui .SettingsActivityWithNode ;
8795import com .st .BlueSTSDK .gui .demos .DemoDescriptionAnnotation ;
8896import com .st .BlueSTSDK .gui .demos .DemoFragment ;
8997import com .st .STM32WB .fwUpgrade .feature .RebootOTAModeFeature ;
@@ -171,8 +179,12 @@ public static class LedButtonControlFragment extends com.st.STM32WB.p2pDemo.LedB
171179 FitnessActivityFragment .class ,
172180 MachineLearningCoreFragment .class ,
173181 FiniteStateMachineFragment .class ,
182+ TimeOfFlightMultiObjectFragment .class ,
183+ ExtConfigurationFragment .class ,
184+ ColorAmbientLightFragment .class ,
185+ QVARFragment .class ,
174186 NodeStatusFragment .class ,
175- //FeatureDebugFragment.class
187+ //FeatureDebugFragment.class,
176188 };
177189
178190 @ Override
@@ -183,6 +195,13 @@ protected Class<? extends DemoFragment>[] getAllDemos() {
183195 }
184196
185197 List <Class <? extends DemoFragment >> serverDemos = getServerSizeDemos ();
198+ if (serverDemos .contains (BlueVoiceFullBandFragment .class )){
199+ demoList .remove (BlueVoiceFragment .class );
200+ demoList .remove (SpeechToTextFragment .class );
201+ }
202+ if (serverDemos .contains (BlueVoiceFullDuplexFragment .class )){
203+ demoList .remove (BlueVoiceFragment .class );
204+ }
186205 if (!serverDemos .isEmpty ()) {
187206 demoList .addAll (0 ,serverDemos );
188207 }
@@ -196,11 +215,16 @@ private List<Class<? extends DemoFragment>> getServerSizeDemos(){
196215 }
197216 ArrayList <Class <? extends DemoFragment >> demos = new ArrayList <>();
198217
199- ExportedFeature opusAudio = server .getExportedFeature (ExportedFeatureAudioOpus .class );
218+ ExportedFeature opusAudio = server .getExportedFeature (ExportedFeatureAudioOpusMusic .class );
219+ ExportedFeature opusAudioConf = server .getExportedFeature (ExportedAudioOpusConf .class );
200220 if (opusAudio !=null && opusAudio .isNotificationEnabled ()){
201221 demos .add (BlueVoiceFullBandFragment .class );
222+ } else if (opusAudioConf !=null && opusAudioConf .isNotificationEnabled ()){
223+ Log .e ("DemosActivity" , demos .toString ());
224+ demos .add (BlueVoiceFullDuplexFragment .class );
225+ Log .e ("DemosActivity" , demos .toString ());
226+ Log .e ("DemosActivity" ,"opusAudioConf.isNotificationEnabled()" );
202227 }
203-
204228 return demos ;
205229 }
206230
@@ -214,8 +238,15 @@ public boolean onOptionsItemSelected(MenuItem item) {
214238 int id = item .getItemId ();
215239
216240 if (id == R .id .settings ) {
241+ Node node = getNode ();
217242 keepConnectionOpen (true ,false );
218- startActivity (SettingsWithNucleoConfiguration .getStartIntent (this , getNode ()));
243+ if (node .getFeature (FeatureExtConfiguration .class ) == null ) {
244+ /* Start the Activity with the Settings */
245+ startActivity (SettingsWithNucleoConfiguration .getStartIntent (this , getNode ()));
246+ } else {
247+ /* Start the Activity without the Settings */
248+ startActivity (SettingsActivityWithNode .getStartIntent (this , getNode (), true ));
249+ }
219250 return true ;
220251 }
221252
@@ -232,14 +263,14 @@ protected void onStart() {
232263 private ExportedFeature .ExportedFeatureCallback mRefreshDemoList = new ExportedFeature .ExportedFeatureCallback () {
233264 @ Override
234265 public void onNotificationDisabled (@ NonNull ExportedFeature onFeature ) {
235- Log .d ("DEmoActivity " ,"reload demos" );
266+ Log .d ("DemoActivity " ,"reload demos" );
236267 runOnUiThread (()->{reloadDemoList ();});
237268
238269 }
239270
240271 @ Override
241272 public void onNotificationEnabled (@ NonNull ExportedFeature onFeature ) {
242- Log .d ("DEmoActivity " ,"reload demos" );
273+ Log .d ("DemoActivity " ,"reload demos" );
243274 runOnUiThread (()->{reloadDemoList ();});
244275 }
245276 };
@@ -251,7 +282,7 @@ private void enableServerSideDemo() {
251282 NodeServer server = node .getNodeServer ();
252283 if (server == null )
253284 return ;
254- ExportedFeature f = server .getExportedFeature (ExportedFeatureAudioOpus .class );
285+ ExportedFeature f = server .getExportedFeature (ExportedFeatureAudioOpusMusic .class );
255286 if (f !=null )
256287 f .addListener (mRefreshDemoList );
257288 }
@@ -269,7 +300,7 @@ private void disableServerSideDemo() {
269300 NodeServer server = node .getNodeServer ();
270301 if (server == null )
271302 return ;
272- ExportedFeature f = server .getExportedFeature (ExportedFeatureAudioOpus .class );
303+ ExportedFeature f = server .getExportedFeature (ExportedFeatureAudioOpusMusic .class );
273304 if (f !=null )
274305 f .removeListener (mRefreshDemoList );
275306 }
0 commit comments