FocusHistoryManager class
Focus history manager using stack structure for focus memory restoration.
Each DpadNavigator has its own FocusHistoryManager instance, ensuring focus history is isolated per navigator scope.
Memory Management: Automatically cleans up disposed FocusNodes to prevent memory leaks. Call cleanup periodically or when widgets are destroyed.
Constructors
- FocusHistoryManager({int maxSize = 20})
- Creates a new focus history manager.
Properties
Methods
-
cleanup(
) → void - Manual cleanup method to free memory from disposed FocusNodes.
-
clear(
) → void - Clears all focus history entries.
-
getCurrent(
) → FocusHistoryEntry? - Gets the current focus entry.
-
getHistory(
) → List< FocusHistoryEntry> - Gets the complete history as a read-only list.
-
getLastFocusInRegion(
String region) → FocusHistoryEntry? - Gets the last focus entry for a specific region.
-
getLastFocusInRoute(
String routeName) → FocusHistoryEntry? - Gets the last focus entry for a specific route.
-
getLastPoppedEntry(
) → FocusHistoryEntry? - Gets the last popped focus entry.
-
getPrevious(
) → FocusHistoryEntry? - Gets the previous focus entry.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
pop(
) → FocusHistoryEntry? - Pops the current focus entry from the stack.
-
push(
FocusHistoryEntry entry) → void - Pushes focus entry to the history stack.
-
removeInvalidEntries(
) → int - Removes invalid entries from the history stack.
-
setMaxSize(
int size) → void - Sets the maximum number of history entries to keep.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited