getUserStreak method
Retrieves the current user's driving streak information.
A streak represents consecutive days/periods of safe driving behavior. This can be used to gamify the driving experience and encourage consistent safe driving habits.
Returns:
UserStreak?: Streak information object, ornullif not available
Usage:
try {
final streak = await communicator.getUserStreak();
if (streak != null) {
print('Current streak: ${streak.currentStreak} days');
print('Best streak: ${streak.longestStreak} days');
}
} catch (e) {
print('Failed to get user streak: $e');
}
Throws:
Future.error("Unable to get user streak"): When retrieval fails
Prerequisites:
- User must be logged in
- Some trip data must exist for meaningful streak calculation
Implementation
Future<UserStreak?> getUserStreak() async {
try {
return await kruzr_comm.getUserStreak();
} on PlatformException catch (e) {
if (kDebugMode) {
print(e);
print("PlatformException in getUserStreak");
}
return Future.error("Unable to get user streak");
} on Exception catch (e) {
if (kDebugMode) {
print(e);
print("Exception in getUserStreak");
}
return Future.error("Unable to get user streak");
}
}