Added the find my phone app/feature with it's related translation in english, french and german
This commit is contained in:
parent
8a636a238c
commit
99263462ad
@ -10,6 +10,7 @@
|
|||||||
#include "watch_face.h"
|
#include "watch_face.h"
|
||||||
#include "menu_screen.h"
|
#include "menu_screen.h"
|
||||||
#include "compass_screen.h"
|
#include "compass_screen.h"
|
||||||
|
#include "find_phone_screen.h"
|
||||||
#include "settings_screen.h"
|
#include "settings_screen.h"
|
||||||
#include "watch_peripherals.h"
|
#include "watch_peripherals.h"
|
||||||
#include "watch_settings.h"
|
#include "watch_settings.h"
|
||||||
@ -33,6 +34,7 @@ static void _perform_deferred_display_wake_up(uint8_t deferred_time_in_ms);
|
|||||||
WatchFace_t watchFace;
|
WatchFace_t watchFace;
|
||||||
MenuScreen_t menuScreen;
|
MenuScreen_t menuScreen;
|
||||||
CompassScreen_t compassScreen;
|
CompassScreen_t compassScreen;
|
||||||
|
FindPhoneScreen_t findPhoneScreen;
|
||||||
SettingsScreen_t settingsScreen;
|
SettingsScreen_t settingsScreen;
|
||||||
|
|
||||||
static struct
|
static struct
|
||||||
@ -234,7 +236,11 @@ static void setBLEEnabledCb(bool *enabled, SettingMode_e mode)
|
|||||||
if(!ble_modem_off())
|
if(!ble_modem_off())
|
||||||
APP_LOG_ERROR("Failed to stop BLE modem with service");
|
APP_LOG_ERROR("Failed to stop BLE modem with service");
|
||||||
else
|
else
|
||||||
|
{
|
||||||
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_OFF);
|
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_OFF);
|
||||||
|
find_phone_screen_notify_BLE_connection_state(&findPhoneScreen, false);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -392,9 +398,11 @@ static void ble_service_state_change_cb(ble_service_state_e ble_service_state)
|
|||||||
{
|
{
|
||||||
case BLE_SERVICE_MODE_CONNECTED:
|
case BLE_SERVICE_MODE_CONNECTED:
|
||||||
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_CONNECTED);
|
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_CONNECTED);
|
||||||
|
find_phone_screen_notify_BLE_connection_state(&findPhoneScreen, true);
|
||||||
break;
|
break;
|
||||||
case BLE_SERVICE_MODE_ADVERTISING:
|
case BLE_SERVICE_MODE_ADVERTISING:
|
||||||
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_ON);
|
watch_face_set_bluetooth_indicator(&watchFace, BLUETOOTH_STATE_ON);
|
||||||
|
find_phone_screen_notify_BLE_connection_state(&findPhoneScreen, false);
|
||||||
break;
|
break;
|
||||||
case BLE_SERVICE_MODE_SUBSCRIBED:
|
case BLE_SERVICE_MODE_SUBSCRIBED:
|
||||||
_is_ble_device_subscribed = true;
|
_is_ble_device_subscribed = true;
|
||||||
@ -448,6 +456,11 @@ static void scan_result_cb(void)
|
|||||||
tls_mem_free(buffer);
|
tls_mem_free(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void sendFindPhoneBLECommandCb(bool findPhone)
|
||||||
|
{
|
||||||
|
gadget_bridge_send_find_phone(findPhone);
|
||||||
|
}
|
||||||
|
|
||||||
extern LCDConfig_t LCDConfig;
|
extern LCDConfig_t LCDConfig;
|
||||||
|
|
||||||
void gfx_task(void *param)
|
void gfx_task(void *param)
|
||||||
@ -505,6 +518,10 @@ void gfx_task(void *param)
|
|||||||
watch_face_init(&watchFace);
|
watch_face_init(&watchFace);
|
||||||
menu_screen_init(&menuScreen);
|
menu_screen_init(&menuScreen);
|
||||||
compass_screen_init(&compassScreen);
|
compass_screen_init(&compassScreen);
|
||||||
|
|
||||||
|
find_phone_screen_init(&findPhoneScreen);
|
||||||
|
find_phone_screen_register_BLE_command_send_cb(&findPhoneScreen, &(sendFindPhoneBLECommandCb));
|
||||||
|
|
||||||
settings_screen_init(&settingsScreen);
|
settings_screen_init(&settingsScreen);
|
||||||
settings_screen_register_API_interface(&settingsScreen, &settingsScreenAPIInterface);
|
settings_screen_register_API_interface(&settingsScreen, &settingsScreenAPIInterface);
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
#include "settings_screen.h"
|
#include "settings_screen.h"
|
||||||
#include "watch_face.h"
|
#include "watch_face.h"
|
||||||
#include "compass_screen.h"
|
#include "compass_screen.h"
|
||||||
|
#include "find_phone_screen.h"
|
||||||
#include "translation.h"
|
#include "translation.h"
|
||||||
|
|
||||||
#define array_size(array) (sizeof(array)/sizeof(array[0]))
|
#define array_size(array) (sizeof(array)/sizeof(array[0]))
|
||||||
@ -22,14 +23,21 @@ static void menu_item_cb(lv_event_t *e)
|
|||||||
lv_scr_load_anim(watchFace.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true);
|
lv_scr_load_anim(watchFace.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 2:
|
||||||
{
|
{
|
||||||
extern CompassScreen_t compassScreen;
|
extern CompassScreen_t compassScreen;
|
||||||
compass_screen_create(&compassScreen);
|
compass_screen_create(&compassScreen);
|
||||||
lv_scr_load_anim(compassScreen.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true);
|
lv_scr_load_anim(compassScreen.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 3:
|
||||||
|
{
|
||||||
|
extern FindPhoneScreen_t findPhoneScreen;
|
||||||
|
find_phone_screen_create(&findPhoneScreen);
|
||||||
|
lv_scr_load_anim(findPhoneScreen.display, LV_SCR_LOAD_ANIM_MOVE_LEFT, 400, 0, true);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
{
|
{
|
||||||
extern SettingsScreen_t settingsScreen;
|
extern SettingsScreen_t settingsScreen;
|
||||||
settings_screen_create(&settingsScreen);
|
settings_screen_create(&settingsScreen);
|
||||||
@ -90,6 +98,7 @@ void menu_screen_create(MenuScreen_t * const menuScreen)
|
|||||||
//We declare all the needed assets by the menu screen:
|
//We declare all the needed assets by the menu screen:
|
||||||
LV_IMG_DECLARE(watch_menu_clock_icon)
|
LV_IMG_DECLARE(watch_menu_clock_icon)
|
||||||
LV_IMG_DECLARE(watch_menu_dialer_icon)
|
LV_IMG_DECLARE(watch_menu_dialer_icon)
|
||||||
|
LV_IMG_DECLARE(watch_menu_lost_phone_icon)
|
||||||
LV_IMG_DECLARE(watch_menu_mail_icon)
|
LV_IMG_DECLARE(watch_menu_mail_icon)
|
||||||
LV_IMG_DECLARE(watch_menu_contacts_icon)
|
LV_IMG_DECLARE(watch_menu_contacts_icon)
|
||||||
LV_IMG_DECLARE(watch_menu_alarm_icon)
|
LV_IMG_DECLARE(watch_menu_alarm_icon)
|
||||||
@ -121,13 +130,15 @@ void menu_screen_create(MenuScreen_t * const menuScreen)
|
|||||||
lv_obj_set_style_pad_right(scroll_item_container, 15, LV_PART_SCROLLBAR);
|
lv_obj_set_style_pad_right(scroll_item_container, 15, LV_PART_SCROLLBAR);
|
||||||
|
|
||||||
menu_screen_add_item(scroll_item_container, 0, &watch_menu_clock_icon, translation_get_word(TRANSLATION_WATCH), &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 0, &watch_menu_clock_icon, translation_get_word(TRANSLATION_WATCH), &(menu_item_cb));
|
||||||
menu_screen_add_item(scroll_item_container, 1, &watch_menu_compass_icon, translation_get_word(TRANSLATION_COMPASS), &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 1, &watch_menu_alarm_icon, translation_get_word(TRANSLATION_ALARM), &(menu_item_cb));
|
||||||
menu_screen_add_item(scroll_item_container, 2, &watch_menu_alarm_icon, translation_get_word(TRANSLATION_ALARM), &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 2, &watch_menu_compass_icon, translation_get_word(TRANSLATION_COMPASS), &(menu_item_cb));
|
||||||
|
menu_screen_add_item(scroll_item_container, 3, &watch_menu_lost_phone_icon, translation_get_word(TRANSLATION_FIND_MY_PHONE), &(menu_item_cb));
|
||||||
|
/*
|
||||||
menu_screen_add_item(scroll_item_container, 3, &watch_menu_messages_icon, "Text messages", &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 3, &watch_menu_messages_icon, "Text messages", &(menu_item_cb));
|
||||||
menu_screen_add_item(scroll_item_container, 4, &watch_menu_mail_icon, "Mails", &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 4, &watch_menu_mail_icon, "Mails", &(menu_item_cb));
|
||||||
menu_screen_add_item(scroll_item_container, 5, &watch_menu_dialer_icon, "Phone", &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 5, &watch_menu_dialer_icon, "Phone", &(menu_item_cb));
|
||||||
menu_screen_add_item(scroll_item_container, 6, &watch_menu_contacts_icon, "Contacts", &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 6, &watch_menu_contacts_icon, "Contacts", &(menu_item_cb));*/
|
||||||
menu_screen_add_item(scroll_item_container, 7, &watch_menu_settings_icon, translation_get_word(TRANSLATION_SETTINGS), &(menu_item_cb));
|
menu_screen_add_item(scroll_item_container, 4, &watch_menu_settings_icon, translation_get_word(TRANSLATION_SETTINGS), &(menu_item_cb));
|
||||||
|
|
||||||
//We register the event callback to handle the cleanup
|
//We register the event callback to handle the cleanup
|
||||||
lv_obj_add_event_cb(menuScreen->display, &(cleanup_event_cb), LV_EVENT_DELETE, menuScreen);
|
lv_obj_add_event_cb(menuScreen->display, &(cleanup_event_cb), LV_EVENT_DELETE, menuScreen);
|
||||||
|
@ -24,6 +24,11 @@ static const char * const translation_dictionary[][TRANSLATED_LANGUAGES_COUNT] =
|
|||||||
[TRANSLATION_GERMAN] = "Kompass",
|
[TRANSLATION_GERMAN] = "Kompass",
|
||||||
[TRANSLATION_ENGLISH]= "Compass"
|
[TRANSLATION_ENGLISH]= "Compass"
|
||||||
},
|
},
|
||||||
|
[TRANSLATION_FIND_MY_PHONE] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Trouver mon tel",
|
||||||
|
[TRANSLATION_GERMAN] = "Handy finden",
|
||||||
|
[TRANSLATION_ENGLISH]= "Find my phone"
|
||||||
|
},
|
||||||
[TRANSLATION_ALTIMETER] = {
|
[TRANSLATION_ALTIMETER] = {
|
||||||
[TRANSLATION_FRENCH] = "Altimetre",
|
[TRANSLATION_FRENCH] = "Altimetre",
|
||||||
[TRANSLATION_GERMAN] = "Hohenmesser",
|
[TRANSLATION_GERMAN] = "Hohenmesser",
|
||||||
@ -169,6 +174,21 @@ static const char * const translation_dictionary[][TRANSLATED_LANGUAGES_COUNT] =
|
|||||||
[TRANSLATION_GERMAN] = "",
|
[TRANSLATION_GERMAN] = "",
|
||||||
[TRANSLATION_ENGLISH]= "",
|
[TRANSLATION_ENGLISH]= "",
|
||||||
},
|
},
|
||||||
|
[TRANSLATION_PHONE_NOT_CONNECTED] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Mobile\nnon\ncon-\nnecte !",
|
||||||
|
[TRANSLATION_GERMAN] = "Keine\nVerbind-\nung zum\nHandy !",
|
||||||
|
[TRANSLATION_ENGLISH]= "Phone\nnot\ncon-\nnected !",
|
||||||
|
},
|
||||||
|
[TRANSLATION_FIND_MY_PHONE_BTN] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Trouver\nMon\nMobile !",
|
||||||
|
[TRANSLATION_GERMAN] = "Mein\nHandy\nSuchen !",
|
||||||
|
[TRANSLATION_ENGLISH]= "Find\nMy\nPhone !",
|
||||||
|
},
|
||||||
|
[TRANSLATION_FOUND_MY_PHONE_BTN] = {
|
||||||
|
[TRANSLATION_FRENCH] = "Je l'ai\nTrouver !",
|
||||||
|
[TRANSLATION_GERMAN] = "Ich\nHabe Es\nGefu-\nnden !",
|
||||||
|
[TRANSLATION_ENGLISH]= "Found\nIt !",
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *translation_get_word(TranslationWord_e word)
|
const char *translation_get_word(TranslationWord_e word)
|
||||||
|
@ -12,12 +12,15 @@ typedef enum TranslationLanguage
|
|||||||
|
|
||||||
typedef enum TranslationWord
|
typedef enum TranslationWord
|
||||||
{
|
{
|
||||||
|
/* Menu apps title translations */
|
||||||
TRANSLATION_MENU = 0,
|
TRANSLATION_MENU = 0,
|
||||||
TRANSLATION_WATCH,
|
TRANSLATION_WATCH,
|
||||||
TRANSLATION_ALARM,
|
TRANSLATION_ALARM,
|
||||||
TRANSLATION_COMPASS,
|
TRANSLATION_COMPASS,
|
||||||
|
TRANSLATION_FIND_MY_PHONE,
|
||||||
TRANSLATION_ALTIMETER,
|
TRANSLATION_ALTIMETER,
|
||||||
TRANSLATION_SETTINGS,
|
TRANSLATION_SETTINGS,
|
||||||
|
/* Settings screen text translations */
|
||||||
TRANSLATION_TIME_AND_DATE,
|
TRANSLATION_TIME_AND_DATE,
|
||||||
TRANSLATION_DISPLAY,
|
TRANSLATION_DISPLAY,
|
||||||
TRANSLATION_NOTIFICATIONS,
|
TRANSLATION_NOTIFICATIONS,
|
||||||
@ -45,6 +48,10 @@ typedef enum TranslationWord
|
|||||||
TRANSLATION_BATTERY_VOLTAGE,
|
TRANSLATION_BATTERY_VOLTAGE,
|
||||||
TRANSLATION_FACTORY_RESET,
|
TRANSLATION_FACTORY_RESET,
|
||||||
TRANSLATION_RESET,
|
TRANSLATION_RESET,
|
||||||
|
/* Find my phone app translation */
|
||||||
|
TRANSLATION_PHONE_NOT_CONNECTED,
|
||||||
|
TRANSLATION_FIND_MY_PHONE_BTN,
|
||||||
|
TRANSLATION_FOUND_MY_PHONE_BTN
|
||||||
} TranslationWord_e;
|
} TranslationWord_e;
|
||||||
|
|
||||||
const char * translation_get_word(TranslationWord_e word);
|
const char * translation_get_word(TranslationWord_e word);
|
||||||
|
Loading…
Reference in New Issue
Block a user