From f24288af99edaafd34925d0fc42d434068276650 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sun, 1 Aug 2021 19:57:41 +0300 Subject: [PATCH] Use a more familiar lua snake_hour --- README_ru.md | 79 +++++++++++++++++++---------------- actions-widget.lua | 12 ++++++ app_buttons_sample.lua | 14 +++---- args-test.lua | 13 +++--- btc-widget.lua | 12 +++--- buttons_with_state_sample.lua | 6 +-- clock-widget.lua | 6 +-- covid-widget.lua | 18 ++++---- currencies-ru-widget.lua | 42 ++++++++++--------- dialog_sample.lua | 20 ++++----- github_trending-widget.lua | 30 ++++++------- hello_world-widget.lua | 4 +- html_test.lua | 4 +- icndb-widget.lua | 10 ++--- inspiration_quotes-widget.lua | 12 +++--- is_widget_added_sample.lua | 4 +- isdayoff-ru-widget.lua | 12 +++--- location-widget.lua | 6 +-- pl-tests.lua | 8 ++-- public_ip-widget.lua | 8 ++-- quotes-ru-widget.lua | 12 +++--- quotes-widget.lua | 12 +++--- random-joke-widget.lua | 12 +++--- shell-widget.lua | 16 +++---- widget_add_remove_sample.lua | 10 ++--- year_progress-widget.lua | 10 ++--- 26 files changed, 208 insertions(+), 184 deletions(-) create mode 100644 actions-widget.lua diff --git a/README_ru.md b/README_ru.md index 74eb1d5..2078b77 100644 --- a/README_ru.md +++ b/README_ru.md @@ -1,28 +1,28 @@ # Функции (колбеки) жизненного цикла -* `onResume()` - вызывается при каждом возврате на рабочий стол; -* `onAlarm()` - вызывается при возврате на рабочий стол при условии, что с прошлого вызова прошло больше 30 минут; -* `onTick()` - вызывается каждую секунду пока лаунчер находится на экране. +* `on_resume()` - вызывается при каждом возврате на рабочий стол; +* `on_alarm()` - вызывается при возврате на рабочий стол при условии, что с прошлого вызова прошло больше 30 минут; +* `on_tick()` - вызывается каждую секунду пока лаунчер находится на экране. Для большинства сетевых скриптов (загрузка и показ значений) следует использовать `onAlarm`. Использование других функций может привести к блокировке вашего IP. # Функции показа данных -* `ui:showText(string)` - выводит в виджет обычный текст; повторный вызов стирает предыдущий текст; -* `ui:showLines(table, [table])` - выводит список строк с отправителем (на манер почтового виджета), второй аргумент (необязательный) - соответствующие им отправители (форматирование в стиле почтового виджета); -* `ui:showButtons(table, [table])` - выводит список кнопок, первый аргумент - таблица строк, второй опциональный аргумент, таблица цветов в формате #XXXXXX; -* `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар; -* `ui:showToast(string)` - показывает информационное сообщение в стиле Android; -* `ui:showDialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки; -* `ui:showEditDialog(string, [string], [string])` - показать диалог с полем ввода: 1 - заголовок, 2 - подпись, 3 - стандартное значения поля ввода; -* `ui:getPrimaryTextColor()` - возвращает цвет текста темы в формате #XXXXXX; -* `ui:getSecondaryTextColor()` - возвращает цвет вторичного текста (обычно серый) в формате #XXXXXX; +* `ui:show_text(string)` - выводит в виджет обычный текст; повторный вызов стирает предыдущий текст; +* `ui:show_lines(table, [table])` - выводит список строк с отправителем (на манер почтового виджета), второй аргумент (необязательный) - соответствующие им отправители (форматирование в стиле почтового виджета); +* `ui:show_buttons(table, [table])` - выводит список кнопок, первый аргумент - таблица строк, второй опциональный аргумент, таблица цветов в формате #XXXXXX; +* `ui:show_progress_bar(text, current_value, max_value)` - показывает прогресс бар; +* `ui:show_toast(string)` - показывает информационное сообщение в стиле Android; +* `ui:show_dialog(string, string, [string], [string])` - показать диалог; первый аргумент - заголовок, второй - текст, третий (опциональный) - имя первой кнопки, четвертый (опциональный) - имя второй кнопки; +* `ui:show_edit_dialog(string, [string], [string])` - показать диалог с полем ввода: 1 - заголовок, 2 - подпись, 3 - стандартное значения поля ввода; +* `ui:get_primary_text_color()` - возвращает цвет текста темы в формате #XXXXXX; +* `ui:get_secondary_text_color()` - возвращает цвет вторичного текста (обычно серый) в формате #XXXXXX; -При нажатии на любой элемент интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить. +При нажатии на любой элемент интерфейса будет выполнен колбек `on_click(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:show_buttons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `on_click` с аргументом 1, второй - с аргументов 2, и так далее. Если элемент на экране всего один - аргумент всегда будет равен единице и его можно будет опустить. -Нажатия на кнопки диалога должны обрабатываться в колбеке `onDialogAction(number)`, где 1 - это первая кнопка, 2 - вторая, а -1 - нажатие кнопки "закрыть", если никакие кнопки не были указаны. `ui:editDialog()` возвращает текст в колбек `onDialogAction(text)`. +Нажатия на кнопки диалога должны обрабатываться в колбеке `on_dialog_dction(number)`, где 1 - это первая кнопка, 2 - вторая, а -1 - нажатие кнопки "закрыть", если никакие кнопки не были указаны. `ui:edit_dialog()` возвращает текст в колбек `onDialogAction(text)`. -Функции `ui:showText(string)` и `ui:showLines(string)` поддерживают многие теги HTML. Например: +Функции `ui:show_text(string)` и `ui:show_lines(string)` поддерживают многие теги HTML. Например: ``` First line
Second line @@ -33,33 +33,34 @@ First line
Second line # Системные функции -* `system:openApp(string)` - открывает приложение, имя пакета которого указано в аргументе; -* `system:openBrowser(string)` - открывает указанный URL в браузере или в приложении, умеющем обрабатывать данный тип URL; +* `system:open_app(string)` - открывает приложение, имя пакета которого указано в аргументе; +* `system:open_browser(string)` - открывает указанный URL в браузере или в приложении, умеющем обрабатывать данный тип URL; * `system:exec(string)` - выполняет shell-команду; * `system:su(string)` - выполняет shell-команду от имени root; -* `system:getLocation()` - возвращает местоположение в таблице с двумя значениями (запрос местоположения НЕ выполняется, используется значение, сохраненное системой ранее). +* `system:get_location()` - возвращает местоположение в таблице с двумя значениями (запрос местоположения НЕ выполняется, используется значение, сохраненное системой ранее); +* `system:get_tz()` - возвращает текущую временную зону в формате `Europe/Moscow`; -Результат выполнения shell-команды приходит в колбек `onShellResult(string)`. +Результат выполнения shell-команды приходит в колбек `on_shell_result(string)`. # Функции управления лаунчером -* `aio:doAction(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html)); -* `aio:addWidget(string)` - добавляет на экран встроенный виджет, виджет-скрипт или клон существующего виджета; -* `aio:removeWidget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены); -* `aio:isWidgetAdded(string)` - проверяет, добавлен ли виджет на экран; -* `aio:getArgs()` - возвращает таблицу аргументов, которые пользователь указал нажав на иконку настроек в режиме редактирования виджета; +* `aio:do_action(string)` - выполняет действие AIO ([подробнее](https://aiolauncher.app/api.html)); +* `aio:add_widget(string)` - добавляет на экран встроенный виджет, виджет-скрипт или клон существующего виджета; +* `aio:remove_widget(string)` - удаляет с экрана встроенный виджет или виджет-скрипт (внимание: доп. виджеты тоже будут удалены); +* `aio:isWidget_added(string)` - проверяет, добавлен ли виджет на экран; +* `aio:get_args()` - возвращает таблицу аргументов, которые пользователь указал нажав на иконку настроек в режиме редактирования виджета; -Если в метаданных виджета есть поле `argumentsArgs`, его значение будет выведено при редактировании аргументов виджета. Если есть поле `argumentsDefault` - оно будет использовано для получения дефолтовых аргументов. +Если в метаданных виджета есть поле `arguments_help`, его значение будет выведено при редактировании аргументов виджета. Если есть поле `arguments_default` - оно будет использовано для получения дефолтовых аргументов. # Сетевые функции -* `net:getText(url)` - функция для получения текстовых данных по сети (JSON, XML, plain text). +* `net:get_text(url)` - функция для получения текстовых данных по сети (JSON, XML, plain text). Функция не возвращает никакого значения, а вместо этого вызывает колбек `onNetworkResult(string)`. В нем следует обрабатывать результат. # Функции обработки данных -* `json:getValue(string, string)` - получает указанное значение из JSON; первый аргумент - JSON-строка, второй - инструкция для получения значения. +* `ajson:get_value(string, string)` - получает указанное значение из JSON; первый аргумент - JSON-строка, второй - инструкция для получения значения. В отличие от классических парзеров JSON, эта функция предназначена не для парзинга, а именно для извлечения одиночных значений. Например, есть следующий JSON: @@ -77,19 +78,19 @@ First line
Second line Необходимо извлечь из него строку "joke". По тексту JSON видно, что эта строка содержится внутри объекта "value", а сам этот объект находится внутри основного объекта JSON. Другими словами чтобы извлечь нужную строку необходимо "открыть" основной объект JSON, затем "открыть" объект "value" и найти в нем строку "joke". В коде это будет выглядеть так: ``` -joke = json:getValue(result, "object object:value string:joke") +joke = ajson:get_value(result, "object object:value string:joke") ``` При этом полный текст скрипта может выглядеть так: ``` -function onAlarm() - net:getText("http://api.icndb.com/jokes/random") +function on_alarm() + net:get_text("http://api.icndb.com/jokes/random") end -function onNetworkResult(result) - local joke = json:getValue(result, "object object:value string:joke") - aio:showText(joke) +function on_network_result(result) + local joke = ajson:get_value(result, "object object:value string:joke") + aio:show_text(joke) end ``` @@ -105,7 +106,13 @@ end AIO Launcher включает в себя интерпретатор LuaJ 3.0.1 (совместимый с Lua 5.2) со стандартным набором библиотек: `base`, `bit32`, `coroutine`, `io`, `math`, `os`, `package`, `string table`. -В комплект также входят библиотека [LuaJava](https://github.com/luaj/luaj#the-luajava-library) для прямого вызова методов Java, и библиотека [Penlight](http://stevedonovan.github.io/Penlight/api/manual/01-introduction.md.html) с набором портированных из Python функций и структур данных. +В комплект также входят: + +* [LuaJava](https://github.com/luaj/luaj#the-luajava-library) - прямой вызов методов Java; +* [Penlight](http://stevedonovan.github.io/Penlight/api/manual/01-introduction.md.html) - набор портированных из Python функций и структур данных; +* [luatz](https://github.com/daurnimator/luatz) - функции для работы со временем; +* [json.lua](https://github.com/rxi/json.lua) - парзер JSON; +* [SLAXDOM](https://github.com/Phrogz/SLAXML) - парзер XML. # Метаданные @@ -114,8 +121,8 @@ AIO Launcher включает в себя интерпретатор LuaJ 3.0.1 ``` -- name = "Covid info" -- description = "Cases of illness and death from covid (covid19api.com)" --- argumentsHelp = "Specify the country code" --- argumentsDefault = "RU" +-- arguments_help = "Specify the country code" +-- arguments_default = "RU" -- type = "widget" -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" diff --git a/actions-widget.lua b/actions-widget.lua new file mode 100644 index 0000000..c343720 --- /dev/null +++ b/actions-widget.lua @@ -0,0 +1,12 @@ +-- name = "Actions" + +function on_resume() + actions_names = { "Drawer", "Search" } + actions = { "apps_menu", "search" } + + ui:show_buttons(actions_names) +end + +function on_click(idx) + aio:do_action(actions[idx]) +end diff --git a/app_buttons_sample.lua b/app_buttons_sample.lua index 138acec..e56fa82 100644 --- a/app_buttons_sample.lua +++ b/app_buttons_sample.lua @@ -1,11 +1,11 @@ -function onResume() - appsNames = { "Telegram", "WhatsApp", "Google PLay" } - appsPkgs = { "org.telegram.messenger.web", "com.whatsapp", "com.android.vending" } - appsColors = { "#0000ff", "#00ff00" } +function on_resume() + apps_names = { "Telegram", "WhatsApp", "Google PLay" } + apps_pkgs = { "org.telegram.messenger.web", "com.whatsapp", "com.android.vending" } + apps_colors = { "#0000ff", "#00ff00" } - ui:showButtons(appsNames, appsColors) + ui:show_buttons(apps_names, apps_colors) end -function onClick(idx) - system:openApp(appsPkgs[idx]) +function on_click(idx) + system:open_app(apps_pkgs[idx]) end diff --git a/args-test.lua b/args-test.lua index ce668c5..63c7abf 100644 --- a/args-test.lua +++ b/args-test.lua @@ -1,11 +1,12 @@ --- argumentsHelp = "The word recorded here will be displayed on the screen." --- argumentsDefault = "Word" +-- arguments_help = "The word recorded here will be displayed on the screen." +-- arguments_default = "Word" + +function on_resume() + local args = aio:get_args() -function onResume() - local args = aio:getArgs() if args == nil then - ui:showText("args is empty") + ui:show_text("args is empty") else - ui:showText("arg1: "..args[1]) + ui:show_text("arg1: "..args[1]) end end diff --git a/btc-widget.lua b/btc-widget.lua index 4bc77a2..5084ef1 100644 --- a/btc-widget.lua +++ b/btc-widget.lua @@ -4,11 +4,13 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("https://api.blockchain.info/ticker") +equals = " = " + +function on_alarm() + net:get_text("https://api.blockchain.info/ticker") end -function onNetworkResult(result) - local price = json:getValue(result, "object object:USD string:last") - ui:showText("BTC = "..price.." USD") +function on_network_result(result) + local price = ajson:get_value(result, "object object:USD string:last") + ui:show_text("BTC"..equals..price.." USD") end diff --git a/buttons_with_state_sample.lua b/buttons_with_state_sample.lua index 1822481..858858a 100644 --- a/buttons_with_state_sample.lua +++ b/buttons_with_state_sample.lua @@ -1,10 +1,10 @@ buttons = { "Disabled", "Disabled", "Disabled" } -function onResume() +function on_resume() redraw() end -function onClick(idx) +function on_click(idx) if buttons[idx] == "Disabled" then buttons[idx] = "Enabled" else @@ -15,5 +15,5 @@ function onClick(idx) end function redraw() - ui:showButtons(buttons) + ui:show_buttons(buttons) end diff --git a/clock-widget.lua b/clock-widget.lua index 4bc15dd..8a12d3f 100644 --- a/clock-widget.lua +++ b/clock-widget.lua @@ -1,4 +1,4 @@ -function onTick() - local timeStr = os.date('%Y-%m-%d %H:%M:%S') - ui:showText(timeStr) +function on_tick() + local time_str = os.date('%Y-%m-%d %H:%M:%S') + ui:show_text(time_str) end diff --git a/covid-widget.lua b/covid-widget.lua index 4cfcc18..7b81746 100644 --- a/covid-widget.lua +++ b/covid-widget.lua @@ -4,19 +4,19 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -equals = " = " +equals = " = " -function onAlarm() - net:getText("https://api.covid19api.com/summary") +function on_alarm() + net:get_text("https://api.covid19api.com/summary") end -function onNetworkResult(result) - local new = json:getValue(result, "object object:Global int:NewConfirmed") - local total = json:getValue(result, "object object:Global int:TotalConfirmed") - local newDeaths = json:getValue(result, "object object:Global int:NewDeaths") - local totalDeaths = json:getValue(result, "object object:Global int:TotalDeaths") +function on_network_result(result) + local new = ajson:get_value(result, "object object:Global int:NewConfirmed") + local total = ajson:get_value(result, "object object:Global int:TotalConfirmed") + local newDeaths = ajson:get_value(result, "object object:Global int:NewDeaths") + local totalDeaths = ajson:get_value(result, "object object:Global int:TotalDeaths") - ui:showLines({ + ui:show_lines({ "Disease | total"..equals..comma_value(total).." | new"..equals..comma_value(new), "Deaths | total"..equals..comma_value(totalDeaths).." | new"..equals..comma_value(newDeaths) }) diff --git a/currencies-ru-widget.lua b/currencies-ru-widget.lua index 283d409..06138f4 100644 --- a/currencies-ru-widget.lua +++ b/currencies-ru-widget.lua @@ -7,52 +7,54 @@ -- argumentsHelp = "Введите список валютных пар в формате usd:rub btc:usd" -- argumentsDefault = "usd:rub eur:rub" -stringx = require 'pl.stringx' +sx = require 'pl.stringx' -function onAlarm() - curs = aio:getArgs() +function on_alarm() + curs = aio:get_args() if curs == nil then curs = {"usd:rub", "eur:rub"} end - getRates("latest") + get_rates("latest") end -function getRates(locDate) - net:getText("https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/"..locDate.."/currencies/usd.json") +function get_rates(loc_date) + net:get_text("https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/"..loc_date.."/currencies/usd.json") end -function onNetworkResult(result) - local dat = json:getValue(result, "object string:date") +function on_network_result(result) + local textColor = ui:get_secondary_text_color() + local dat = ajson:get_value(result, "object string:date") local tab = {} - table.insert(tab, ""..dat.."") + table.insert(tab, ""..sx.replace(dat, "-", ".").."") for idx = 1, #curs, 1 do - local equals = " = " - local cur = stringx.split(curs[idx], ":") + local equals = " = " + local cur = sx.split(curs[idx], ":") local cur1 = cur[1] local cur2 = cur[2] - local rate1 = json:getValue(result, "object object:usd double:"..cur1) - local rate2 = json:getValue(result, "object object:usd double:"..cur2) + local rate1 = ajson:get_value(result, "object object:usd double:"..cur1) + local rate2 = ajson:get_value(result, "object object:usd double:"..cur2) local rate = math.floor(rate2/rate1*10000+0.5)/10000 table.insert(tab, "1 "..string.upper(cur1)..equals..rate.." "..string.upper(cur2)) end - ui:showLines(tab) + ui:show_lines(tab) end -function onClick(idx) +function on_click(idx) if idx == 1 then - ui:showEditDialog("Введите дату курсов", "Введите дату курсов в формате 2020-12-31. Пустое значение - текущая дата.") + ui:show_edit_dialog("Введите дату курсов", "Введите дату курсов в формате 2020.12.31. Пустое значение - текущая дата.") end end -function onDialogAction(text) - if text == "" then - text = "latest" +function on_dialog_action(date) + if date == "" then + date = "latest" end - getRates(text) + get_rates(sx.replace(date, ".", "-")) end + diff --git a/dialog_sample.lua b/dialog_sample.lua index 3fc4468..716cbd5 100644 --- a/dialog_sample.lua +++ b/dialog_sample.lua @@ -1,27 +1,27 @@ -function onResume() - ui:showLines({ +function on_resume() + ui:show_lines({ "Click to open dialog", "Click to open dialog with custom buttons", "Click to open edit dialog", }) end -function onClick(idx) +function on_click(idx) if idx == 1 then - ui:showDialog("Dialog title", "This is dialog") + ui:show_dialog("Dialog title", "This is dialog") elseif idx == 2 then - ui:showDialog("Dialog title", "This is dialog", "Button 1", "Button 2") + ui:show_dialog("Dialog title", "This is dialog", "Button 1", "Button 2") elseif idx == 3 then - ui:showEditDialog("Dialog title", "Write any text", "default text") + ui:show_edit_dialog("Dialog title", "Write any text", "default text") end end -function onDialogAction(value) +function on_dialog_action(value) if value == 1 then - ui:showToast("Button 1 clicked!") + ui:show_toast("Button 1 clicked!") elseif value == 2 then - ui:showToast("Button 2 clicked!") + ui:show_toast("Button 2 clicked!") elseif type(value) == "string" then - ui:showToast("Text: "..value) + ui:show_toast("Text: "..value) end end diff --git a/github_trending-widget.lua b/github_trending-widget.lua index bff99b7..fcc722d 100644 --- a/github_trending-widget.lua +++ b/github_trending-widget.lua @@ -4,32 +4,32 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("https://api.trending-github.com/github/repositories") +function on_alarm() + net:get_text("https://api.trending-github.com/github/repositories") end -function onNetworkResult(result) +function on_network_result(result) local names = { - json:getValue(result, "array object:0 string:name"), - json:getValue(result, "array object:1 string:name"), - json:getValue(result, "array object:2 string:name"), + ajson:get_value(result, "array object:0 string:name"), + ajson:get_value(result, "array object:1 string:name"), + ajson:get_value(result, "array object:2 string:name"), } local descriptions = { - json:getValue(result, "array object:0 string:description"), - json:getValue(result, "array object:1 string:description"), - json:getValue(result, "array object:2 string:description"), + ajson:get_value(result, "array object:0 string:description"), + ajson:get_value(result, "array object:1 string:description"), + ajson:get_value(result, "array object:2 string:description"), } urls = { - json:getValue(result, "array object:0 string:url"), - json:getValue(result, "array object:1 string:url"), - json:getValue(result, "array object:2 string:url"), + ajson:get_value(result, "array object:0 string:url"), + ajson:get_value(result, "array object:1 string:url"), + ajson:get_value(result, "array object:2 string:url"), } - ui:showLines(names, descriptions) + ui:show_lines(names, descriptions) end -function onClick(idx) - system:openBrowser(urls[idx]) +function on_click(idx) + system:open_browser(urls[idx]) end diff --git a/hello_world-widget.lua b/hello_world-widget.lua index 2a8ef0e..7a05f9b 100644 --- a/hello_world-widget.lua +++ b/hello_world-widget.lua @@ -1,3 +1,3 @@ -function onResume() - ui:showText("Hello world!") +function on_resume() + ui:show_text("Hello world!") end diff --git a/html_test.lua b/html_test.lua index 701fa1a..cb10a26 100644 --- a/html_test.lua +++ b/html_test.lua @@ -1,3 +1,3 @@ -function onResume() - ui:showLines({ "This is bold text" }) +function on_resume() + ui:show_lines({ "This is bold text" }) end diff --git a/icndb-widget.lua b/icndb-widget.lua index a8fc4d6..419eed1 100644 --- a/icndb-widget.lua +++ b/icndb-widget.lua @@ -4,11 +4,11 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("http://api.icndb.com/jokes/random") +function on_alarm() + net:get_text("http://api.icndb.com/jokes/random") end -function onNetworkResult(result) - local joke = json:getValue(result, "object object:value string:joke") - ui:showText(joke) +function on_network_result(result) + local joke = ajson:get_value(result, "object object:value string:joke") + ui:show_text(joke) end diff --git a/inspiration_quotes-widget.lua b/inspiration_quotes-widget.lua index 7cffa70..b9378f1 100644 --- a/inspiration_quotes-widget.lua +++ b/inspiration_quotes-widget.lua @@ -4,13 +4,13 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("https://inspiration.goprogram.ai/") +function on_alarm() + net:get_text("https://inspiration.goprogram.ai/") end -function onNetworkResult(result) - local quote = json:getValue(result, "object string:quote") - local author = json:getValue(result, "object string:author") +function on_network_result(result) + local quote = ajson:get_value(result, "object string:quote") + local author = ajson:get_value(result, "object string:author") - ui:showLines({ quote }, { author }) + ui:show_lines({ quote }, { author }) end diff --git a/is_widget_added_sample.lua b/is_widget_added_sample.lua index 8aec042..c01bed4 100644 --- a/is_widget_added_sample.lua +++ b/is_widget_added_sample.lua @@ -1,3 +1,3 @@ -function onResume() - ui:showText("Mail widget on the screen: " .. tostring(aio:isWidgetAdded("mail"))) +function on_resume() + ui:show_text("Mail widget on the screen: " .. tostring(aio:is_widget_added("mail"))) end diff --git a/isdayoff-ru-widget.lua b/isdayoff-ru-widget.lua index e703d71..1cf8eb8 100644 --- a/isdayoff-ru-widget.lua +++ b/isdayoff-ru-widget.lua @@ -4,17 +4,17 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() +function on_alarm() local dateStr = os.date('%Y%m%d') - net:getText("https://isdayoff.ru/"..dateStr) + net:get_text("https://isdayoff.ru/"..dateStr) end -function onNetworkResult(result) +function on_network_result(result) if result == "0" then - ui:showText("Сегодня рабочий день") + ui:show_text("Сегодня рабочий день") elseif result == "1" then - ui:showText("Сегодня выходной") + ui:show_text("Сегодня выходной") else - ui:showText("Ошибка") + ui:show_text("Ошибка") end end diff --git a/location-widget.lua b/location-widget.lua index d37593e..c10a4b2 100644 --- a/location-widget.lua +++ b/location-widget.lua @@ -1,4 +1,4 @@ -function onResume() - local location = system:getLocation() - ui:showText(location[1].." "..location[2]) +function on_resume() + local location = system:get_location() + ui:show_text(location[1].." "..location[2]) end diff --git a/pl-tests.lua b/pl-tests.lua index 72c4787..6f59ed6 100644 --- a/pl-tests.lua +++ b/pl-tests.lua @@ -1,7 +1,7 @@ -stringx = require 'pl.stringx' +sx = require 'pl.stringx' -function onResume() +function on_resume() local string = "String with spaces" - local sList = stringx.split(string, " ") - ui:showText(sList[3]) + local s_list = sx.split(string, " ") + ui:show_text(s_list[3]) end diff --git a/public_ip-widget.lua b/public_ip-widget.lua index ddad01e..365f917 100644 --- a/public_ip-widget.lua +++ b/public_ip-widget.lua @@ -4,10 +4,10 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("https://api.ipify.org") +function on_alarm() + net:get_text("https://api.ipify.org") end -function onNetworkResult(result) - ui:showText(result) +function on_network_result(result) + ui:show_text(result) end diff --git a/quotes-ru-widget.lua b/quotes-ru-widget.lua index ee0ff31..17ae9ea 100644 --- a/quotes-ru-widget.lua +++ b/quotes-ru-widget.lua @@ -4,13 +4,13 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=ru") +function on_alarm() + net:get_text("http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=ru") end -function onNetworkResult(result) - local quote = json:getValue(result, "object string:quoteText") - local author = json:getValue(result, "object string:quoteAuthor") +function on_network_result(result) + local quote = ajson:get_value(result, "object string:quoteText") + local author = ajson:get_value(result, "object string:quoteAuthor") - ui:showLines({ quote }, { author }) + ui:show_lines({ quote }, { author }) end diff --git a/quotes-widget.lua b/quotes-widget.lua index a750d73..e5b3dc5 100644 --- a/quotes-widget.lua +++ b/quotes-widget.lua @@ -4,13 +4,13 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("https://api.quotable.io/random") +function on_alarm() + net:get_text("https://api.quotable.io/random") end -function onNetworkResult(result) - local quote = json:getValue(result, "object string:content") - local author = json:getValue(result, "object string:author") +function on_network_result(result) + local quote = ajson:get_value(result, "object string:content") + local author = ajson:get_value(result, "object string:author") - ui:showLines({ quote }, { author }) + ui:show_lines({ quote }, { author }) end diff --git a/random-joke-widget.lua b/random-joke-widget.lua index 73f2692..c3d0d1f 100644 --- a/random-joke-widget.lua +++ b/random-joke-widget.lua @@ -4,12 +4,12 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onAlarm() - net:getText("https://official-joke-api.appspot.com/random_joke") +function on_alarm() + net:get_text("https://official-joke-api.appspot.com/random_joke") end -function onNetworkResult(result) - local setup = json:getValue(result, "object string:setup") - local punchline = json:getValue(result, "object string:punchline") - ui:showLines({setup, punchline}) +function on_network_result(result) + local setup = ajson:get_value(result, "object string:setup") + local punchline = ajson:get_value(result, "object string:punchline") + ui:show_lines({setup, punchline}) end diff --git a/shell-widget.lua b/shell-widget.lua index f3ebd94..d4cd858 100644 --- a/shell-widget.lua +++ b/shell-widget.lua @@ -4,26 +4,26 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -currentOutput = "Click to enter command" +current_output = "Click to enter command" -function onResume() +function on_resume() redraw() end function redraw() - ui:showText(currentOutput) + ui:show_text(current_output) end -function onClick(idx) - ui:showEditDialog("Enter command") +function on_click(idx) + ui:show_edit_dialog("Enter command") end -function onDialogAction(text) +function on_dialog_action(text) system:exec(text) end -function onShellResult(text) - currentOutput = text +function on_shell_result(text) + current_output = text redraw() end diff --git a/widget_add_remove_sample.lua b/widget_add_remove_sample.lua index be24116..e56921c 100644 --- a/widget_add_remove_sample.lua +++ b/widget_add_remove_sample.lua @@ -1,11 +1,11 @@ -function onResume() - ui:showButtons({ "Add clock widget", "Remove clock widget" }) +function on_resume() + ui:show_buttons({ "Add clock widget", "Remove clock widget" }) end -function onClick(idx) +function on_click(idx) if idx == 1 then - aio:addWidget("clock") + aio:add_widget("clock") else - aio:removeWidget("clock") + aio:remove_widget("clock") end end diff --git a/year_progress-widget.lua b/year_progress-widget.lua index 5555985..a22ec9c 100644 --- a/year_progress-widget.lua +++ b/year_progress-widget.lua @@ -4,9 +4,9 @@ -- author = "Evgeny Zobnin (zobnin@gmail.com)" -- version = "1.0" -function onResume() - local yearDays = 365 - local currentDay = os.date("*t").yday - local percent = math.floor(currentDay / (yearDays / 100)) - ui:showProgressBar("Year progress: "..percent.."%", currentDay, yearDays) +function on_resume() + local year_days = 365 + local current_day = os.date("*t").yday + local percent = math.floor(current_day / (year_days / 100)) + ui:show_progress_bar("Year progress: "..percent.."%", current_day, year_days) end