diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index fc5d6c4e3..7bfdbd4f8 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -392,6 +392,14 @@ msgctxt "#32029" msgid "up to date: %s" msgstr "" +msgctxt "#32031" +msgid "Working..." +msgstr "" + +msgctxt "#32032" +msgid "Firmware is up to date." +msgstr "" + msgctxt "#32100" msgid "Connections" msgstr "" diff --git a/resources/lib/modules/updates.py b/resources/lib/modules/updates.py index e7afe5375..b1e144245 100644 --- a/resources/lib/modules/updates.py +++ b/resources/lib/modules/updates.py @@ -660,13 +660,19 @@ def update_rpi_firmware(self, listItem): if xbmcgui.Dialog().yesno(oe._(32022), f'{oe._(32023)}\n\n{oe._(32326)}'): # available update is newer than installed version if self.rpi_flashing_state[listItem.getProperty('entry')]['current'] < self.rpi_flashing_state[listItem.getProperty('entry')]['latest']: - update_result = os_tools.execute(f'/usr/bin/rpi-eeprom-update -A {listItem.getProperty("entry")}', get_result=True) - log.log(f'rpi-eeprom-update result: {update_result}', log.DEBUG) + dlg = xbmcgui.DialogProgress() + dlg.create(oe._(32022), oe._(32031)) + dlg.update(0) + try: + update_result = os_tools.execute(f'/usr/bin/rpi-eeprom-update -A {listItem.getProperty("entry")}', get_result=True) + finally: + dlg.close() + log.log(f'rpi-eeprom-update result: {update_result}', log.DEBUG) if update_result: xbmcgui.Dialog().ok(oe._(32022), oe._(32023)) value = 'true' else: - xbmcgui.Dialog().ok('Update RPi Firmware', 'Firmware is up to date.') + xbmcgui.Dialog().ok(oe._(32022), oe._(32032)) # user chose no but bootloader update already queued elif listItem.getProperty('entry') == 'bootloader' and os.path.isfile('/flash/pieeprom.upd'): value = 'true'