mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-29 14:37:47 -04:00
* fix: keep tray order stable when tooltipTitle changes dynamically Revert the earlier simplistic key approach: keep getTrayItemKey() unchanged (id::tooltipTitle) so duplicate-id disambiguation (#1542) is preserved and persisted id::tooltipTitle entries keep matching. Instead make persisted-key lookups tolerant of dynamic tooltipTitle: resolveOrderIndex() in sortByPreferredOrder() does exact match first, falling back to prefix matching an id::* entry only when the id has a single instance. findSavedTrayKey()/isTrayIdHidden() replace direct SessionData.isHiddenTrayId() calls and showTrayId() now receives the actual saved key. Prefix fallback is gated by trayItemCountForId() to single-instance ids only, so multiple items sharing an id always match exactly and hiding/ordering one never affects the others. * fix: bail on ambiguous saved tray keys in fallback * tray: use occurrence index as stable key, add one-time session migration * tray: pin stable key per item instance so it never flips when siblings come and go * tray: assign unique per-id sequential keys to avoid collision after sibling exit * tray: reuse free key slots so a restarted singleton keeps its plain id