getAllStudies method
Get the list of all studies previously stored on this phone.
Returns an empty list, if not study deployments are stored.
Implementation
Future<List<SmartphoneStudy>> getAllStudies() async {
List<SmartphoneStudy> list = [];
try {
final List<Map<String, Object?>> maps =
await _database?.query(
STUDY_TABLE_NAME,
columns: [
STUDY_ID_COLUMN,
STUDY_DEPLOYMENT_ID_COLUMN,
DEVICE_ROLE_NAME_COLUMN,
PARTICIPANT_ID_COLUMN,
PARTICIPANT_ROLE_NAME_COLUMN,
CREATED_ON_COLUMN,
SAMPLING_STATUS_COLUMN,
DEPLOYMENT_STATUS_COLUMN,
DEPLOYMENT_COLUMN,
],
) ??
[];
if (maps.isNotEmpty) {
for (var map in maps) {
list.add(SmartphoneStudy.fromMap(map));
}
}
} catch (exception) {
warning('$runtimeType - Failed to load studies - $exception');
}
return list;
}