summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJames A. Jerkins <evergreen@jamesjerkinscomputer.com>2021-11-01 20:12:25 (GMT)
committerJF <JF002@users.noreply.github.com>2021-12-09 20:14:16 (GMT)
commit1e4130a9cfe6e1385d83d93e544d1e1cd79f11f8 (patch)
treee8d8317feb38b6d39cf078839e5b9648dd7dac4f /src
parent62dbcbfc953a36202d96466563a8e71b8bd4ff65 (diff)
Fix for passkey screen scramble
When a passkey is displayed, screen on or off, and another passkey is displayed the screen may become scrambled. Fix the issue by insuring the whole screen is drawn every time.
Diffstat (limited to 'src')
-rw-r--r--src/displayapp/DisplayApp.cpp6
-rw-r--r--src/displayapp/screens/PassKey.cpp17
-rw-r--r--src/displayapp/screens/PassKey.h3
3 files changed, 17 insertions, 9 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp
index 08a7646..0a675c8 100644
--- a/src/displayapp/DisplayApp.cpp
+++ b/src/displayapp/DisplayApp.cpp
@@ -215,6 +215,9 @@ void DisplayApp::Refresh() {
} else {
LoadApp(Apps::Alarm, DisplayApp::FullRefreshDirections::None);
}
+ case Messages::ShowPairingKey:
+ LoadApp(Apps::PassKey, DisplayApp::FullRefreshDirections::Up);
+ break;
case Messages::TouchEvent: {
if (state != States::Running) {
break;
@@ -289,9 +292,6 @@ void DisplayApp::Refresh() {
// Added to remove warning
// What should happen here?
break;
- case Messages::ShowPairingKey:
- LoadApp(Apps::PassKey, DisplayApp::FullRefreshDirections::Up);
- break;
}
}
diff --git a/src/displayapp/screens/PassKey.cpp b/src/displayapp/screens/PassKey.cpp
index 66bf0c2..9e43a54 100644
--- a/src/displayapp/screens/PassKey.cpp
+++ b/src/displayapp/screens/PassKey.cpp
@@ -4,11 +4,18 @@
using namespace Pinetime::Applications::Screens;
PassKey::PassKey(Pinetime::Applications::DisplayApp* app, uint32_t key) : Screen(app) {
- lpasskey = lv_label_create(lv_scr_act(), nullptr);
- lv_obj_set_style_local_text_color(lpasskey, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xFFFF00));
- lv_obj_set_style_local_text_font(lpasskey, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
- lv_label_set_text_fmt(lpasskey, "%06u", key);
- lv_obj_align(lpasskey, nullptr, LV_ALIGN_CENTER, 0, -20);
+ passkeyLabel = lv_label_create(lv_scr_act(), nullptr);
+ lv_obj_set_style_local_text_color(passkeyLabel, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xFFFF00));
+ lv_obj_set_style_local_text_font(passkeyLabel, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &jetbrains_mono_42);
+ lv_label_set_text_fmt(passkeyLabel, "%06u", key);
+ lv_obj_align(passkeyLabel, nullptr, LV_ALIGN_CENTER, 0, -20);
+
+ backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
+ lv_obj_set_click(backgroundLabel, true);
+ lv_label_set_long_mode(backgroundLabel, LV_LABEL_LONG_CROP);
+ lv_obj_set_size(backgroundLabel, 240, 240);
+ lv_obj_set_pos(backgroundLabel, 0, 0);
+ lv_label_set_text(backgroundLabel, "");
}
PassKey::~PassKey() {
diff --git a/src/displayapp/screens/PassKey.h b/src/displayapp/screens/PassKey.h
index 34e0d59..16e72a3 100644
--- a/src/displayapp/screens/PassKey.h
+++ b/src/displayapp/screens/PassKey.h
@@ -13,7 +13,8 @@ namespace Pinetime {
~PassKey() override;
private:
- lv_obj_t* lpasskey;
+ lv_obj_t* passkeyLabel;
+ lv_obj_t* backgroundLabel;
};
}
}