From 0532d7a507119241ccd84d519955edf9bd730304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Fern=C3=A1ndez?= Date: Sat, 23 Feb 2019 14:25:29 +0100 Subject: [PATCH] [Android] (re)enable update downloads using full apks (#4639) --- frontend/device/android/device.lua | 2 +- frontend/ui/otamanager.lua | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/frontend/device/android/device.lua b/frontend/device/android/device.lua index dcc855c03..ad5e2267c 100644 --- a/frontend/device/android/device.lua +++ b/frontend/device/android/device.lua @@ -21,7 +21,7 @@ local Device = Generic:new{ display_dpi = android.lib.AConfiguration_getDensity(android.app.config), hasClipboard = yes, hasColorScreen = yes, - hasOTAUpdates = no, + hasOTAUpdates = yes, } function Device:init() diff --git a/frontend/ui/otamanager.lua b/frontend/ui/otamanager.lua index 35a5224e6..7e09f3761 100644 --- a/frontend/ui/otamanager.lua +++ b/frontend/ui/otamanager.lua @@ -192,14 +192,14 @@ function OTAManager:checkUpdate() -- larger than the local package version if local_ok and ota_ok and ota_version and local_version and ota_version ~= local_version then - return ota_version, local_version, link + return ota_version, local_version, link, ota_package elseif ota_version and ota_version == local_version then return 0 end end function OTAManager:fetchAndProcessUpdate() - local ota_version, local_version, link = OTAManager:checkUpdate() + local ota_version, local_version, link, ota_package = OTAManager:checkUpdate() if ota_version == 0 then UIManager:show(InfoMessage:new{ @@ -220,7 +220,15 @@ function OTAManager:fetchAndProcessUpdate() ), ok_text = _("Update"), ok_callback = function() - if Device:isSDL() then + local isAndroid, android = pcall(require, "android") + if isAndroid then + -- download the package if not present. + if android.download(link, ota_package) then + android.notification(T(_("The file %1 already exists."), ota_package)) + else + android.notification(T(_("Downloading %1"), ota_package)) + end + elseif Device:isSDL() then os.execute("xdg-open '"..link.."'") end end