From 99f587b86e804ef799b535c9b9b1a6a1243783ca Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Wed, 5 Jun 2024 17:44:17 +0100 Subject: [PATCH 1/2] Remove 'live' URL that is not resolving, stops app store refreshing from taking 15+ seconds --- modules/firmware_apps/app_store.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/modules/firmware_apps/app_store.py b/modules/firmware_apps/app_store.py index 3229137..4e482d2 100644 --- a/modules/firmware_apps/app_store.py +++ b/modules/firmware_apps/app_store.py @@ -33,7 +33,6 @@ def file_exists(filename): return False -APP_STORE_LISTING_LIVE_URL = "https://api.badge.emf.camp/v1/apps" APP_STORE_LISTING_URL = "https://apps.badge.emfcamp.org/demo_api/apps.json" CODE_INSTALL = "CodeInstall" @@ -81,13 +80,10 @@ def get_index(self): def background_update(self, delta): if self.state == "refreshing_index": try: - self.response = get(APP_STORE_LISTING_LIVE_URL) + self.response = get(APP_STORE_LISTING_URL) except Exception: - try: - self.response = get(APP_STORE_LISTING_URL) - except Exception: - self.update_state("no_index") - return + self.update_state("no_index") + return self.update_state("index_received") if self.to_install_app: self.install_app(self.to_install_app) @@ -147,7 +143,6 @@ def exit_available_menu(): item_font_size=ten_pt, ) - def prepare_main_menu(self): def on_cancel(): self.minimise() @@ -217,8 +212,6 @@ def uninstall_app(self, app): eventbus.emit(InstallNotificationEvent()) machine.reset() - - def error_screen(self, ctx, message): ctx.save() ctx.text_align = ctx.CENTER From 5d4c4319147c303b9ea49e512fa4584870eacbfc Mon Sep 17 00:00:00 2001 From: Matt Emerick-Law Date: Wed, 5 Jun 2024 17:44:36 +0100 Subject: [PATCH 2/2] Prevent the flashing of 'Unknown error' when index is loaded but main_menu is not created --- modules/firmware_apps/app_store.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/firmware_apps/app_store.py b/modules/firmware_apps/app_store.py index 4e482d2..95dd327 100644 --- a/modules/firmware_apps/app_store.py +++ b/modules/firmware_apps/app_store.py @@ -265,6 +265,8 @@ def draw(self, ctx): clear_background(ctx) if self.state == "main_menu" and self.menu: self.menu.draw(ctx) + elif self.state == "main_menu" and not self.menu: + self.error_screen(ctx, "Loading...") elif self.state == "available_menu" and self.available_menu: self.available_menu.draw(ctx) elif self.state == "installed_menu" and self.installed_menu: @@ -281,6 +283,8 @@ def draw(self, ctx): self.error_screen(ctx, "Connecting\nWi-Fi...\n") elif self.state == "refreshing_index": self.error_screen(ctx, "Refreshing\napp store\nindex") + elif self.state == "index_received": + self.error_screen(ctx, "App store\nindex\nreceived") elif self.state == "install_oom": self.error_screen(ctx, "Out of memory\n(app too big?)") elif self.state == "code_install_input" and self.codeinstall: