add get_system_info function

This commit is contained in:
Evgeny
2021-09-01 10:06:43 +03:00
parent a1b6f73221
commit 260ec67225
4 changed files with 43 additions and 8 deletions

View File

@@ -65,8 +65,8 @@ If the first argument of the dialog contains two lines separated by `\n`, the se
``` ```
ui:show_context_menu({ ui:show_context_menu({
{ "share", "Menu item 1" } { "share", "Menu item 1" },
{ "copy", "Menu item 2" } { "copy", "Menu item 2" },
{ "trash", "Menu item 3" }, { "trash", "Menu item 3" },
}) })
``` ```
@@ -86,7 +86,8 @@ When you click on any menu item, the collab `on_context_menu_click(item_idx)` wi
* `system:share_text(string)` - opens the "Share" system dialog; * `system:share_text(string)` - opens the "Share" system dialog;
* `system:get_lang()` - returns the language selected in the system; * `system:get_lang()` - returns the language selected in the system;
* `system:get_tz_offset()` - returns TimeZone offset in seconds; * `system:get_tz_offset()` - returns TimeZone offset in seconds;
* `system:get_battery_info()` - return table with battery info. * `system:get_battery_info()` - returns table with battery info;
* `system:get_system_info()` - returns table with system info;
The result of executing a shell command is sent to the `on_shell_result(string)` callback. The result of executing a shell command is sent to the `on_shell_result(string)` callback.

View File

@@ -86,7 +86,8 @@ ui:show_context_menu({
* `system:share_text(string)` - открывает системный диалог "Поделиться"; * `system:share_text(string)` - открывает системный диалог "Поделиться";
* `system:get_lang()` - возвращает выбранный в системе язык; * `system:get_lang()` - возвращает выбранный в системе язык;
* `system:get_tz_offset()` - возвращает time zone offset в секундах. * `system:get_tz_offset()` - возвращает time zone offset в секундах.
* `system:get_battery_info()` - возвращает таблицу с информацией о состоянии батареи. * `system:get_battery_info()` - возвращает таблицу с информацией о состоянии батареи;
* `system:get_system_info()` - возвращает таблицу с различной системной информацией.
Результат выполнения shell-команды приходит в колбек `on_shell_result(string)`. Результат выполнения shell-команды приходит в колбек `on_shell_result(string)`.

View File

@@ -1,9 +1,10 @@
-- name = "Battery info" -- name = "Battery info"
ticks = 0 ticks = -1
function on_tick() function on_tick()
-- Update one time per 10 seconds -- Update one time per 10 seconds
ticks = ticks + 1
if ticks % 10 ~= 0 then if ticks % 10 ~= 0 then
return return
end end
@@ -19,12 +20,12 @@ function stringify_table(tab)
local new_tab = {} local new_tab = {}
for k,v in pairs(tab) do for k,v in pairs(tab) do
table.insert(new_tab, k:capitalize()..": "..tostring(v)) table.insert(new_tab, capitalize(k)..": "..tostring(v))
end end
return new_tab return new_tab
end end
function string:capitalize() function capitalize(string)
return (self:gsub("^%l", string.upper)) return string:gsub("^%l", string.upper)
end end

View File

@@ -0,0 +1,32 @@
-- name = "System info"
ticks = -1
function on_tick()
-- Update one time per 10 seconds
ticks = ticks + 1
if ticks % 10 ~= 0 then
return
end
ticks = 0
local info = system:get_system_info()
local strings = stringify_table(info)
ui:show_lines(strings)
end
function stringify_table(tab)
local new_tab = {}
for k,v in pairs(tab) do
table.insert(new_tab, capitalize(k):replace("_", " ")..": "..tostring(v))
end
return new_tab
end
function capitalize(string)
return string:gsub("^%l", string.upper)
end