getProfiles method
returns a MixedProfile which will have fields for m1.Profile or m2.MediaProfile depending on what is supported by the device.
Implementation
Future<List<MixedProfile>> getProfiles({
String? referenceToken,
List<String>? type,
}) async {
List<m2.MediaProfile>? mediaProfiles;
List<m1.Profile>? profiles;
final mixedProfiles = <MixedProfile>[];
if (_mediaSupportLevel == MediaSupportLevel.one) {
profiles = await media1.getProfiles();
for (var profile in profiles) {
mixedProfiles.add(MixedProfile.fromProfile(profile));
}
} else {
mediaProfiles =
await media2.getProfiles(referenceToken: referenceToken, type: type);
for (var mediaProfile in mediaProfiles) {
mixedProfiles.add(MixedProfile.fromMediaProfile(mediaProfile));
}
}
if (mediaProfiles == null && profiles == null) {
throw NotSupportedException();
}
return mixedProfiles;
}