BetterRoutePromptController class
Controller for managing better route suggestions during navigation.
This controller handles:
- Better route detection and prompts
- Route comparison (time differences)
- User responses to route suggestions
- Timeout management for route prompts
The controller provides real-time route alternatives through BetterRoutePromptModel and manages user interactions with better route suggestions.
Usage example:
final controller = BetterRoutePromptController(
navigationManager: navigationManagerInstance,
onBetterRoutePrompted: (info) {
print('New route suggested: ${info.timeWinning} minutes faster');
},
onBetterRouteAccepted: (info) {
print('Better route accepted');
},
onBetterRouteRejected: () {
print('Better route rejected by user');
},
onBetterRouteTimedOut: () {
print('Better route prompt timed out');
},
);
// Listen to better route suggestions
controller.state.addListener(() {
final model = controller.state.value;
print('Time difference: ${model.timeWinning} minutes');
print('Route type: ${model.type}');
});
// Handle user decisions
controller.acceptBetterRoute(); // Accept suggested route
controller.rejectBetterRoute(); // Reject suggested route
The controller maintains a subscription to better route suggestions and provides methods to handle user responses to these suggestions.
Remember to dispose of the controller when it's no longer needed:
controller.dispose();
Constructors
- BetterRoutePromptController.new({required void onBetterRoutePrompted(BetterRouteInfo), required void onBetterRouteRejected(), required void onBetterRouteTimedOut(), required void onBetterRouteAccepted(BetterRouteInfo)})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
state
→ ValueNotifier<
BetterRoutePromptModel> -
The current state of better route suggestions as a ValueNotifier.
Contains information about time differences and route types.
no setter
Methods
-
acceptBetterRoute(
) → void - Accepts the currently suggested better route.
-
dispose(
) → void - Cleans up resources by canceling the better route subscription. Should be called when the controller is no longer needed.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
rejectBetterRoute(
) → void - Rejects the currently suggested better route.
-
timeoutBetterRoutePrompt(
) → void - Handles timeout of the better route prompt.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited