Integrated the music player screen to the watch's firmware + minor other things
This commit is contained in:
parent
cf7c52c1eb
commit
17164c722e
@ -11,6 +11,7 @@
|
||||
#include "menu_screen.h"
|
||||
#include "compass_screen.h"
|
||||
#include "find_my_phone_screen.h"
|
||||
#include "music_player_screen.h"
|
||||
#include "settings_screen.h"
|
||||
#include "watch_peripherals.h"
|
||||
#include "watch_settings.h"
|
||||
@ -36,6 +37,8 @@ WatchFace_t watchFace;
|
||||
MenuScreen_t menuScreen;
|
||||
CompassScreen_t compassScreen;
|
||||
FindMyPhoneScreen_t findMyPhoneScreen;
|
||||
MusicPlayerScreen_t musicPlayerScreen;
|
||||
|
||||
SettingsScreen_t settingsScreen;
|
||||
|
||||
static struct
|
||||
@ -240,8 +243,8 @@ static void setBLEEnabledCb(bool *enabled, SettingMode_e mode)
|
||||
{
|
||||
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_OFF);
|
||||
find_my_phone_screen_notify_BLE_connection_state(&findMyPhoneScreen, false);
|
||||
}
|
||||
|
||||
music_player_screen_notify_BLE_connection_state(&musicPlayerScreen, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -374,6 +377,23 @@ static void parser_event_cb(const gadget_bridge_event_data_t *gadget_bridge_even
|
||||
watch_face_force_sync(&watchFace);
|
||||
}
|
||||
break;
|
||||
case GADGET_BRIDGE_EVENT_TYPE_MUSIC_INFO:
|
||||
music_player_screen_set_playing_music_title_and_artist(&musicPlayerScreen, gadget_bridge_event_data->music_info.track, gadget_bridge_event_data->music_info.artist);
|
||||
music_player_screen_set_music_duration(&musicPlayerScreen, gadget_bridge_event_data->music_info.duration_in_seconds);
|
||||
break;
|
||||
case GADGET_BRIDGE_EVENT_TYPE_MUSIC_STATE:
|
||||
switch(gadget_bridge_event_data->music_state.music_state)
|
||||
{
|
||||
case GADGET_BRIDGE_MUSIC_STATE_PLAY:
|
||||
music_player_screen_set_music_playing_state(&musicPlayerScreen, MUSIC_CONTROL_PLAY);
|
||||
break;
|
||||
case GADGET_BRIDGE_MUSIC_STATE_PAUSE:
|
||||
case GADGET_BRIDGE_MUSIC_STATE_STOP:
|
||||
music_player_screen_set_music_playing_state(&musicPlayerScreen, MUSIC_CONTROL_PAUSE);
|
||||
break;
|
||||
}
|
||||
music_player_screen_set_music_position(&musicPlayerScreen, gadget_bridge_event_data->music_state.position_in_seconds);
|
||||
break;
|
||||
default:
|
||||
APP_LOG_INFO("Not yet handled\n");
|
||||
}
|
||||
@ -400,10 +420,12 @@ static void ble_service_state_change_cb(ble_service_state_e ble_service_state)
|
||||
case BLE_SERVICE_MODE_CONNECTED:
|
||||
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_CONNECTED);
|
||||
find_my_phone_screen_notify_BLE_connection_state(&findMyPhoneScreen, true);
|
||||
music_player_screen_notify_BLE_connection_state(&musicPlayerScreen, true);
|
||||
break;
|
||||
case BLE_SERVICE_MODE_ADVERTISING:
|
||||
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_ON);
|
||||
find_my_phone_screen_notify_BLE_connection_state(&findMyPhoneScreen, false);
|
||||
music_player_screen_notify_BLE_connection_state(&musicPlayerScreen, false);
|
||||
break;
|
||||
case BLE_SERVICE_MODE_SUBSCRIBED:
|
||||
_is_ble_device_subscribed = true;
|
||||
@ -462,6 +484,11 @@ static void sendFindMyPhoneBLECommandCb(bool findMyPhone)
|
||||
gadget_bridge_send_find_phone(findMyPhone);
|
||||
}
|
||||
|
||||
static void sendMusicPlaybackBLECommandCb(MusicPlaybackCtrlAction_e musicPlaybackCtrlAction)
|
||||
{
|
||||
gadget_bridge_send_music_control(musicPlaybackCtrlAction);
|
||||
}
|
||||
|
||||
extern LCDConfig_t LCDConfig;
|
||||
|
||||
void gfx_task(void *param)
|
||||
@ -527,6 +554,9 @@ void gfx_task(void *param)
|
||||
find_my_phone_screen_init(&findMyPhoneScreen);
|
||||
find_my_phone_screen_register_BLE_command_send_cb(&findMyPhoneScreen, &(sendFindMyPhoneBLECommandCb));
|
||||
|
||||
music_player_screen_init(&musicPlayerScreen);
|
||||
music_player_screen_register_music_playback_control_cb(&musicPlayerScreen, &(sendMusicPlaybackBLECommandCb));
|
||||
|
||||
settings_screen_init(&settingsScreen);
|
||||
settings_screen_register_API_interface(&settingsScreen, &settingsScreenAPIInterface);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user