fix: clear the BT-paused popup with an immediate redraw (toast semantics)
The popup lingered until the next page turn. E-ink has no free timers -- clearing costs a refresh whenever it happens -- so request the redraw right away: the popup shows for the ~2 s page re-render, then clears.
This commit is contained in:
+9
-3
@@ -532,9 +532,15 @@ void updateBluetoothLifecycle() {
|
|||||||
// existing framebuffer (no heap); the next page render clears it via ghost cleanup.
|
// existing framebuffer (no heap); the next page render clears it via ghost cleanup.
|
||||||
if (!deferralAnnounced && activityManager.isReaderActivity() && BleHid.pairedCount() > 0) {
|
if (!deferralAnnounced && activityManager.isReaderActivity() && BleHid.pairedCount() > 0) {
|
||||||
deferralAnnounced = true;
|
deferralAnnounced = true;
|
||||||
RenderLock renderLock;
|
{
|
||||||
GUI.drawPopup(renderer, tr(STR_BT_PAUSED_LOW_MEM_POPUP));
|
RenderLock renderLock;
|
||||||
activityManager.requestGhostCleanup();
|
GUI.drawPopup(renderer, tr(STR_BT_PAUSED_LOW_MEM_POPUP));
|
||||||
|
activityManager.requestGhostCleanup();
|
||||||
|
}
|
||||||
|
// Toast semantics: request a redraw so the popup clears after the (~2 s) page
|
||||||
|
// re-render instead of lingering until the next page turn. E-ink has no free
|
||||||
|
// timers -- clearing costs one refresh whenever it happens, so do it now.
|
||||||
|
activityManager.requestUpdate();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user