Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 25 additions & 20 deletions Apps/System/musicapp.c
Original file line number Diff line number Diff line change
Expand Up @@ -146,30 +146,33 @@ uint32_t one_at_a_time_hash(const uint8_t* key, size_t length) {
return hash;
}

n_GColor8 songColor(unsigned char *str)
n_GColor8 songColor(const char *str)
{
uint32_t hash = one_at_a_time_hash(str,strlen(str));
APP_LOG("music", APP_LOG_LEVEL_DEBUG, "song hash:%lu",hash);
uint32_t hash = one_at_a_time_hash((const uint8_t *)str, strlen(str));
APP_LOG("music", APP_LOG_LEVEL_DEBUG, "song hash:%lu", hash);

return GColorFromRGB(hash, hash >> 8, hash >> 16);
return GColorFromRGB(hash, hash >> 8, hash >> 16);
}

void _music_info(EventServiceCommand command, void *data)
void _music_info(EventServiceCommand command, void *data, void *context)
{
if (_music_track)
app_free(_music_track);
(void)context;

MusicTrackInfo *amusic = protocol_music_decode(data);
_music_track = amusic;
if (_music_track)
app_free(_music_track);

APP_LOG("music", APP_LOG_LEVEL_DEBUG,"Title: %s", amusic->title);
APP_LOG("music", APP_LOG_LEVEL_DEBUG,"Artist: %s", amusic->artist);
APP_LOG("music", APP_LOG_LEVEL_DEBUG,"Album: %s", amusic->album);
APP_LOG("music", APP_LOG_LEVEL_DEBUG,"Length: %s", amusic->track_length);
MusicTrackInfo *amusic = protocol_music_decode(data);
_music_track = amusic;

s_artist = (char *)amusic->artist;
s_track = (char *)amusic->title;
s_length = (char *)amusic->track_length;
APP_LOG("music", APP_LOG_LEVEL_DEBUG, "Title: %s", amusic->title);
APP_LOG("music", APP_LOG_LEVEL_DEBUG, "Artist: %s", amusic->artist);
APP_LOG("music", APP_LOG_LEVEL_DEBUG, "Album: %s", amusic->album);
APP_LOG("music", APP_LOG_LEVEL_DEBUG, "Length: %lu",
amusic->track_length);

s_artist = (char *)amusic->artist;
s_track = (char *)amusic->title;
s_length = amusic->track_length;
}


Expand Down Expand Up @@ -432,12 +435,14 @@ static void _main_layer_update_proc(Layer *layer, GContext *ctx) {
char time_string[8] = "";
strftime(time_string, 8, "%R", &s_last_time);

char progress_string[6] = "";
char progress_string[16] = "";
// TODO display tracks over 59:59s long differently
snprintf(progress_string, 6, "%ld:%02ld", s_progress / 60, s_progress % 60);
snprintf(progress_string, sizeof(progress_string), "%ld:%02ld",
s_progress / 60, s_progress % 60);

char length_string[6] = "";
snprintf(length_string, 6, "%ld:%02ld", s_length / 60, s_length % 60);
char length_string[16] = "";
snprintf(length_string, sizeof(length_string), "%ld:%02ld",
s_length / 60, s_length % 60);

graphics_context_set_text_color(ctx, GColorBlack);
graphics_draw_text(ctx, s_artist,
Expand Down
4 changes: 4 additions & 0 deletions Apps/System/settings.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ static GBitmap *_bt_pair_accept, *_bt_pair_reject;
static StatusBarLayer *_bt_pair_status;
static char *_bt_pair_name;

void settings_tz_invoke(void);
void settings_tz_init(void);
void settings_tz_deinit(void);

static void _bluetooth_pair_request(EventServiceCommand svc, void *data, void *ctx) {
const char *name = (const char *)data;
APP_LOG("settings", APP_LOG_LEVEL_INFO, "BT pair request: %s", name);
Expand Down
4 changes: 3 additions & 1 deletion Apps/System/systemapp.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,10 @@ static void exit_to_watchface(struct Menu *menu, void *context)
static MusicTrackInfo *_music_track;
static MenuItems *items;

static void _music_info(EventServiceCommand command, void *data)
static void _music_info(EventServiceCommand command, void *data, void *context)
{
(void)context;

if (_music_track)
app_free(_music_track);

Expand Down
2 changes: 1 addition & 1 deletion Apps/System/testapp.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ app_test _tests[] = {

#define TEST_COUNT sizeof(_tests) / sizeof(app_test)
static Window *_test_window;
static AppTimer *_test_exec_timer;
static AppTimerHandle _test_exec_timer;
static app_test *_running_test = NULL;
static bool _window_initialised = false;

Expand Down
6 changes: 3 additions & 3 deletions Apps/System/tests/text_alignment_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ static void select_click_handler(ClickRecognizerRef recognizer, void *context)

text_layer_set_text_alignment(s_multiline_label_layer, s_text_alignment);

layer_mark_dirty(window_get_root_layer(s_test_layer));
layer_mark_dirty(s_test_layer);
}

static void up_click_handler(ClickRecognizerRef recognizer, void *context)
Expand All @@ -39,14 +39,14 @@ static void up_click_handler(ClickRecognizerRef recognizer, void *context)
s_string_index = (int)(sizeof(s_test_strings) / sizeof(s_test_strings[0])) - 1;

text_layer_set_text(s_multiline_label_layer, s_test_strings[s_string_index]);
layer_mark_dirty(window_get_root_layer(s_test_layer));
layer_mark_dirty(s_test_layer);
}

static void down_click_handler(ClickRecognizerRef recognizer, void *context)
{
s_string_index = (s_string_index + 1) % (int)(sizeof(s_test_strings) / sizeof(s_test_strings[0]));
text_layer_set_text(s_multiline_label_layer, s_test_strings[s_string_index]);
layer_mark_dirty(window_get_root_layer(s_test_layer));
layer_mark_dirty(s_test_layer);
}

static void click_config_provider(void *context)
Expand Down
18 changes: 18 additions & 0 deletions Utilities/cjk/notification_zh_seed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Seed characters for small CJK notification font experiments.
#
# This file is intentionally not a complete Simplified/Traditional set.
# Use it as a first notification fallback subset, then expand it from a
# real notification corpus and platform resource budget.

的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组别计指权支识完
我你他她它我們你們他們她們它們收到通知消息短信電話电话微信郵件邮件群聊回覆回复提醒日程會議会议快遞快递外賣外卖支付銀行银行驗證碼验证码登入登錄登录訂單订单更新中文簡體简体繁體繁体漢字汉字台灣臺灣台湾香港澳門澳门
驗證碼验证码密碼密码註冊注册重置修改綁定绑定解綁解绑設備设备安全警告緊急紧急異常异常成功失敗失败取消確認确认批准拒絕拒绝邀請邀请加入退出已讀已读未讀未读查看查收請请回覆回复轉發转发分享評論评论點讚点赞收藏附件照片圖片图片文件位置地址導航导航門禁门禁鬧鐘闹钟航班列車列车票券優惠券优惠券賬單账单充值付款收款退款到賬到账餘額余额交易收入支出
日程行程議程议程會議会议約會约会預約预约活動活动安排提醒待辦待办任務任务事項事项邀約邀约邀請邀请出席缺席參加参加參與参与參會参会主持主辦主办協辦协办嘉賓嘉宾客戶客户同事團隊团队部門部门產品产品項目项目專案专案討論讨论評審评审評估评估面試面试訪問访问拜訪拜访會客会客報告报告週會周会例會例会晨會晨会午會午会晚會晚会電話會电话会視訊视讯視頻视频語音语音直播培訓培训課程课程講座讲座研討研讨演示演講演讲簡報简报同步排期改期延期取消確認确认開始开始結束结束提前延後延后準時准时全天今天明天後天后天昨天本週本周下週下周上週上周上午中午下午晚上凌晨時間时间時區时区提醒稍後稍后小時小时分鐘分钟日期地點地点位置地址會議室会议室辦公室办公室大廳大厅前台樓層楼层座位線上线上線下线下遠端远端現場现场鏈接链接連結連結二维码二維碼備註备注說明说明詳情详情上海北京深圳廣州广州杭州南京成都武漢武汉西安台北臺北香港澳門澳门新加坡東京东京首爾首尔
張张王李趙赵劉刘陳陈楊杨黃黄吳吴周徐孫孙馬马朱胡林郭何高羅罗鄭郑梁謝谢宋唐許许鄧邓韓韩馮冯曹曾彭蕭萧蔡潘田董袁余葉叶蔣蒋杜蘇苏魏程呂吕丁沈任姚盧卢姜崔鐘钟譚谭陸陆汪范金石廖賈贾夏韋韦傅白鄒邹孟熊秦邱江尹薛閆闫段雷侯龍龙史陶黎賀贺顧顾毛郝龔龚邵萬万錢钱嚴严賴赖洪武莫孔湯汤向常溫温康施牛樊葛邢安齊齐易喬乔伍龐庞顏颜倪莊庄聶聂章魯鲁岳翟殷詹歐欧耿關关蘭兰焦俞左柳甘祝包寧宁尚符舒阮
偉伟傑杰倫伦娜敏芳磊強强軍军洋勇艷艳靜静麗丽超濤涛明華华平媽媽妈妈爸爸
音樂音乐歌曲歌手專輯专辑標題标题播放暫停暂停上一首下一首正在播放周杰倫周杰伦七里香
來電来电通話通话未接拒接掛斷挂断聯絡人联系人號碼号码來自来自
藍牙蓝牙配對配对手環手环耳機耳机小米華為华为蘋果苹果掃描扫描連線连接斷線断线
菜單菜单設定设置返回保存刪除删除新增編輯编辑搜尋搜索選擇选择完成更多關閉关闭開啟开启
訂閱订阅退訂退订簽收签收物流不足已簽收已签收餘額不足余额不足
。,、;:?!“”‘’()《》〈〉【】「」『』—…¥
Loading