fitbitter
fitbitter copied to clipboard
"LateInitializationError: Local 'response' has not been initialized". when using isTokenValid
Hi there,
I get and check the Fitbit creds like so:
/// get credentials, if not exist, get new ones
Future<FitbitCred> getFitbitCreds({required int userId, required int programId}) async {
var entryBox = await Hive.openBox<FitbitCred>('fitbit_cred_container');
FitbitCred validCreds;
// if doesnt exist, return false
if (entryBox.isEmpty) {
// get new creds
FitbitCredentials? fitbitCreds = await FitbitConnector.authorize(
clientID: fitbitClientID,
clientSecret: fitbitClientSecret,
redirectUri: fitbitRedirectUri,
callbackUrlScheme: fitbitCallbackScheme,
);
FitbitCred newCreds = FitbitCred(
fitbitAccessToken: fitbitCreds!.fitbitAccessToken,
fitbitRefreshToken: fitbitCreds.fitbitRefreshToken,
userID: fitbitCreds.userID,
lastSync: DateTime.now(),
);
await entryBox.put('curr_fitbit_cred', newCreds);
validCreds = newCreds;
} else {
// get the creds and return it
FitbitCred existingCreds = entryBox.get('curr_fitbit_cred')!;
validCreds = existingCreds;
}
// check if they are valid
bool valid = await FitbitConnector.isTokenValid(
fitbitCredentials: FitbitCredentials(
fitbitAccessToken: validCreds.fitbitAccessToken,
fitbitRefreshToken: validCreds.fitbitRefreshToken,
userID: validCreds.userID,
));
if (valid) {
return validCreds;
} else {
//do something else
}
return validCreds;
}
Seems like it's coming from:
VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: LateInitializationError: Local 'response' has not been initialized.
#0 LateError._throwLocalNotInitialized (dart:_internal-patch/internal_patch.dart:197:5)
#1 FitbitConnector.isTokenValid (package:fitbitter/src/fitbitConnector.dart:140:16)
<asynchronous suspension>
Sometimes it works well, but sometimes I get LateInitializationError: Local 'response' has not been initialized
at the check.
Am I doing something wrong?
Any guidance is appreciated!
Hi! I get the same exact error... Have you found some solutions?
Hi all, I think it is due to line 40 of fitbitDataManager.dart. Unfortunately, I am not able to fix it in a short time (i am very busy ATM)...any help is really appreciated.