Update some scripts

This commit is contained in:
Evgeny
2024-05-16 15:36:24 +04:00
parent 73b85a1a5c
commit 42473099eb
3 changed files with 192 additions and 158 deletions

View File

@@ -1,21 +1,22 @@
-- name = "Amdroid Next Alarm"
-- description = "AIO wrapper for the Amdroid next alarm app widget"
-- description = "AIO wrapper for the Amdroid Next alarm app widget"
-- type = "widget"
-- author = "Theodor Galanis"
-- version = "1.0.2"
-- author = "Theodor Galanis (t.me/TheodorGalanis)"
-- version = "1.10"
-- foldable = "false"
-- uses_app = "com.amdroidalarmclock.amdroid"
local prefs = require "prefs"
local next_alarm = ""
local accent="#FFFFFF"
local accent="#888888"
function on_resume()
if not widgets:bound(prefs.wid) then
setup_app_widget()
end
accent = aio:colors().accent
primary = aio:colors().primary_text
widgets:request_updates(prefs.wid)
end
@@ -28,7 +29,9 @@ function on_app_widget_updated(bridge)
if next_alarm ~= nil
then
my_gui=gui{
{"text", " %%fa:alarm-clock%% <span style=\"color:#FFFFFF\">"..next_alarm.."</span>", {gravity="center_h", color=accent}}
{"icon", "fa:alarm-clock", {gravity="center_h|center_v",color = accent}},
{"spacer", 2},
{"text", next_alarm, {gravity="anchor_prev"}}
}
else
my_gui=gui{
@@ -42,6 +45,10 @@ function on_click(idx)
w_bridge:click(next_alarm)
end
function on_settings()
ui:show_dialog("Amdroid app Next Alarm widget", "This script wrapper uses Amdroid app's Next alarm widget to display the next scheduled alarm. No settings are required.")
end
function setup_app_widget()
local id = widgets:setup("com.amdroidalarmclock.amdroid/com.amdroidalarmclock.amdroid.widgets.NextAlarmWidgetProvider")

View File

@@ -1,15 +1,14 @@
-- name = "Google search"
-- description = "AIO wrapper for the Google search app widget"
-- description = "AIO wrapper for the Google search app widget - open widget settings for options"
-- type = "widget"
-- author = "Theodor Galanis"
-- version = "2.0"
-- author = "Theodor Galanis (t.me/TheodorGalanis)"
-- version = "2.5"
-- foldable = "false"
-- uses_app: "com.google.android.googlequicksearchbox"
local prefs = require "prefs"
local w_bridge = nil
local gravs = {}
local indices = {}
function on_alarm()
@@ -20,33 +19,26 @@ function on_alarm()
prefs.mode = 1
end
mode = prefs.mode
gravs = {"left", "right"}
indices = {1, 3, 5, 7}
if mode == 2 then
gravs= reverse(gravs)
indices = reverse(indices)
end
indices = set_indices()
widgets:request_updates(prefs.wid)
end
function on_app_widget_updated(bridge)
w_bridge = bridge
local tab = {
{"button", "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; %%fa:magnifying-glass%% &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;", {gravity = gravs[1]}},
{"button", "fa:magnifying-glass", {expand = true}},
{"spacer", 2},
{"button", "&nbsp; &nbsp; %%fa:asterisk%% &nbsp;", {gravity = gravs[2]}},
{"button", "fa:sun-cloud"},
{"spacer", 2},
{"button", "&nbsp; &nbsp; %%fa:microphone%% &nbsp;"},
{"button", "fa:asterisk"},
{"spacer", 2},
{"button", "&nbsp; &nbsp; %%fa:camera%% &nbsp;"}
{"button", "fa:microphone"},
{"spacer", 2},
{"button", "fa:camera"}
}
if mode==1 then
tab = set_gui(tab)
my_gui = gui(tab)
else
my_gui =gui(reverse(tab))
end
my_gui.render()
end
@@ -54,17 +46,19 @@ function on_click(idx)
if idx == indices[1] then
w_bridge:click("image_4")
elseif idx == indices[2] then
w_bridge:click("image_7")
intent:start_activity(open_weather())
elseif idx == indices[3] then
w_bridge:click("image_9")
w_bridge:click("image_7")
elseif idx == indices[4] then
w_bridge:click("image_9")
elseif idx == indices[5] then
w_bridge:click("image_10")
else return
end
end
function on_settings()
local tab = {"Left-handed mode", "Right-handed mode"}
local tab = {"Left-handed mode with weather", "Left-handed mode, no weather", "Right-handed mode with weather", "Right-handed mode, no weather" }
ui:show_radio_dialog("Select mode", tab, mode)
end
@@ -72,10 +66,12 @@ function on_long_click(idx)
if idx == indices[1] then
ui:show_toast("Google search")
elseif idx == indices[2] then
ui:show_toast("Google discover")
ui:show_toast("Google weather")
elseif idx == indices[3] then
ui:show_toast("Google voice search")
ui:show_toast("Google discover")
elseif idx == indices[4] then
ui:show_toast("Google voice search")
elseif idx == indices[5] then
ui:show_toast("Google Lens")
end
end
@@ -98,3 +94,35 @@ function setup_app_widget()
return
end
end
function set_indices()
local temp = {1, 3, 5, 7, 9}
if mode == 2 then
temp = {1, 9, 3, 5, 7}
elseif mode == 3 then
temp = reverse (temp)
elseif mode == 4 then
temp = {7, 9, 5, 3, 1}
end
return temp
end
function set_gui(tab)
local temp = tab
if mode == 2 or mode == 4 then
table.remove(tab, 3)
table.remove(tab, 3)
end
if mode > 2 then
temp = reverse(temp)
end
return temp
end
function open_weather()
local tab ={}
tab.category = "MAIN"
tab.package = "com.google.android.googlequicksearchbox"
tab.component = "com.google.android.googlequicksearchbox/com.google.android.apps.search.weather.WeatherExportedActivity"
return tab
end

View File

@@ -1,49 +1,44 @@
-- name = "Quick Actions"
-- type = "widget"
-- description = "Launcher selected actions widget - long click button for options, open widget settings for list of buttons"
-- description = "Launcher selected actions widget"
-- arguments_help = "Long click button for options, open widget settings for list of buttons"
--foldable = "true"
-- author = "Theodor Galanis"
-- version = "3.0"
-- version = "2.5"
prefs = require "prefs"
prefs._name = "quickactions"
md_colors = require "md_colors"
local actions = { "quick_menu", "settings", "apps_menu", "ui_settings", "headers", "quick_apps_menu", "refresh", "restart", "notify", "clear_notifications", "quick_settings", "show_recents", "private_mode", "screen_off", "fold", "unfold", "scroll_down", "scroll_up", "add_note", "add_task", "add_purchase", "shortcuts", "send_mail", "voice", "one_handed", "right_handed", "camera", "flashlight", "dialer", "search"}
local icons = { "fa:pen", "fa:edit", "fa:indent", "fa:bars", "fa:sliders-h", "fa:redo", "fa:power-off", "fa:bring-forward", "fa:eraser", "fa:tools", "fa:layer-minus", "fa:layer-group", "fa:user-shield", "fa:lock", "fa:chevron-down", "fa:chevron-up", "fa:notes-medical", "fa:circle-dot", "fa:envelope", "fa:square-full", "fa:microphone", "fa:hand", "fa:search"}
local icons = { "fa:ellipsis-vertical", "fa:sliders-h", "fa:indent", "fa:paintbrush", "fa:bars", "fa:share-from-square", "fa:redo", "fa:power-off", "fa:bring-forward", "fa:eraser", "fa:square-ellipsis", "fa:square-full", "fa:user-shield", "fa:lock", "fa:layer-minus", "fa:layer-group", "fa:chevron-down", "fa:chevron-up", "fa:notes-medical", "fa:list-check", "fa:tag", "fa:share", "fa:envelope", "fa:microphone", "fa:hand", "fa:right-to-bracket", "fa:camera", "fa:brightness", "fa:phone", "fa:search"}
local names = {"Quick menu", "Quick apps menu", "Applications menu", "Toggle headers", "Settings", "Screen refresh", "Restart AIO launcher", "Notifications panel", "Clear notifications", "Quick settings", "Fold all widgets", "Unfold all widgets", "Private mode", "Screen off", "Scroll down", "Scroll up", "Add note", "Start audio recording", "Send mail", "Recent apps", "Voice command", "One-handed mode", "Search"}
local cols = { "#6A1B9A", "#4527A0", "#8E24AA", "#FF6F00", "#E65100", "#0D47A1", "#546E7A", "#1B5E20", "#689F38", "#1565C0", "#F06292", "#0073DD", "#00796B", "#424242", "#3F51B5", "#3F51B5", "#AB47BC", "#AB47BC", "#D81B60", "#F57C00", "#9E9D24", "#00838F", "#B71C1C", "#512DA8", "#795548", "#5C6BC0", "#FF5252", "#FF8F00", "#B388FF", "#37474F"}
local colors = { md_colors.purple_800, md_colors.purple_600, md_colors.amber_900, md_colors.orange_900, md_colors.blue_900, md_colors.deep_purple_800, md_colors.grey_600, md_colors.green_900, md_colors.green_900, md_colors.blue_800, md_colors.pink_300, md_colors.pink_A200, md_colors.green_600, md_colors.grey_800, md_colors.teal_700, md_colors.teal_800, md_colors.orange_700, md_colors.red_800, md_colors.red_900, md_colors.deep_purple_700, md_colors.blue_700, md_colors.amber_800, md_colors.blue_grey_700}
local actions = { "quick_menu", "quick_apps_menu", "apps_menu", "headers", "settings", "refresh", "restart", "notify", "clear_notifications", "quick_settings", "fold", "unfold", "private_mode", "screen_off", "scroll_down", "scroll_up", "add_note", "start_record", "send_mail", "show_recents", "voice", "one_handed", "search"}
local pos = 0
local buttons,colors = {},{}
function on_alarm()
args = get_args()
if not prefs.args then
prefs.args = args.action
function on_resume()
if next(settings:get()) == nil then
set_default_args()
end
indexes = get_indexes(prefs.args, args.action)
ui:show_buttons(get_buttons())
local buttons,colors = get_buttons()
ui:show_buttons(buttons, colors)
end
function on_click(idx)
if idx > #prefs.args then
on_settings()
return
end
local action = prefs.args[idx]
aio:do_action(action)
on_alarm()
pos = idx
redraw()
end
function on_long_click(idx)
local label = ""
pos = idx
if idx > #prefs.args then
return
local tab = settings:get()
label = get_label(actions[get_checkbox_idx()[idx]])
if label == nil then
label = names[get_checkbox_idx()[idx]]
end
label = get_label(args.action[indexes[idx]])
ui:show_context_menu({{"angle-left",""},{"ban",""},{"angle-right",""},{args.icon[indexes[idx]]:gsub("fa:",""),label}})
ui:show_context_menu({{"angle-left",""},{"ban",""},{"angle-right",""},{icons[get_checkbox_idx()[idx]]:gsub("fa:",""),label}})
end
function on_context_menu_click(menu_idx)
@@ -53,6 +48,8 @@ function on_context_menu_click(menu_idx)
remove()
elseif menu_idx == 3 then
move(1)
elseif menu_idx == 4 then
redraw()
end
end
@@ -60,85 +57,87 @@ function on_dialog_action(data)
if data == -1 then
return
end
local tab = {}
for i,v in ipairs(data) do
tab[i] = args.action[v]
end
prefs.args = tab
on_alarm()
settings:set(data)
on_resume()
end
function on_settings()
local labels = {}
for i = 1, #icons do
table.insert(labels, get_label(args.action[i]))
axions = aio:actions()
lab = {}
for i = 1, #axions do
lav = get_label(actions[i])
if lav == nil then
table.insert(lab,names[i])
else
table.insert(lab, lav)
end
ui:show_checkbox_dialog("Select actions", labels, indexes)
end
ui:show_checkbox_dialog("Select actions", lab, get_checkbox_idx())
end
--utilities--
function move(x)
local tab = prefs.args
if (pos*x == -1) or (pos*x == #tab) then
return
end
local cur = tab[pos]
tab[pos] = tab[pos+x]
tab[pos+x] = cur
prefs.args = tab
on_alarm()
function redraw()
local buttons,colors = get_buttons()
local checkbox_idx = get_checkbox_idx()
local action = actions[checkbox_idx[pos]]
aio:do_action(action)
ui:show_buttons(buttons, colors)
end
function remove()
local tab = prefs.args
table.remove(tab,pos)
prefs.args = tab
on_alarm()
function set_default_args()
local args = {}
for i = 1, #actions do
table.insert(args, i)
end
settings:set(args)
end
function get_label(name)
local lab=""
local axions = aio:actions()
if name == "clear_notifications" then
lab = aio:res_string("clear_notifications","Clear notifications")
else for _, action in ipairs(axions) do
if action["name"] == name then
lab = action["label"]
function get_checkbox_idx()
local tab = settings:get()
for i = 1, #tab do
tab[i] = tonumber(tab[i])
end
end
end
return lab
end
function get_args()
local tab = {}
tab.action = actions
tab.icon = icons
tab.color = cols
return tab
end
function get_buttons()
buttons,colors = {},{}
for i,v in ipairs(indexes) do
table.insert(buttons, args.icon[v])
table.insert(colors, args.color[v])
local buttons,bcolors = {},{}
local checkbox_idx = get_checkbox_idx()
for i = 1, #checkbox_idx do
table.insert(buttons, icons[checkbox_idx[i]])
table.insert(bcolors, colors[checkbox_idx[i]])
end
return buttons,colors
return buttons,bcolors
end
function move(x)
local tab = settings:get()
if (pos == 1 and x < 0) or (pos == #tab and x > 0) then
return
end
local cur = tab[pos]
local prev = tab[pos+x]
tab[pos+x] = cur
tab[pos] = prev
settings:set(tab)
local buttons,colors = get_buttons()
ui:show_buttons(buttons, colors)
end
function get_indexes(tab1,tab2)
local tab = {}
for i1,v1 in ipairs(tab1) do
for i2,v2 in ipairs(tab2) do
if v1 == v2 then
tab[i1] = i2
break
function remove()
local tab = settings:get()
table.remove(tab,pos)
settings:set(tab)
local buttons,colors = get_buttons()
ui:show_buttons(buttons, colors)
end
function get_label(name)
axions = aio:actions()
for _, action in ipairs(axions) do
if action["name"] == name then
return action["label"]
end
end
end
return tab
end