diff --git a/mobile/lib/services/gcast.service.dart b/mobile/lib/services/gcast.service.dart index 4003d84787f..43da5df3338 100644 --- a/mobile/lib/services/gcast.service.dart +++ b/mobile/lib/services/gcast.service.dart @@ -270,19 +270,25 @@ class GCastService implements ICastDestinationService { currentAssetId = null; } + bool isDisplay(int ca) => (ca & 0x01) != 0; + @override Future> getDevices() async { final dests = await _gCastRepository.listDestinations(); return dests .map( - (device) => ( - device.extras["fn"] ?? "Google Cast", - CastDestinationType.googleCast, - device - ), - ) - .where((device) => device.$3.extras["md"] != "Chromecast Audio") - .toList(growable: false); + (device) => ( + device.extras["fn"] ?? "Google Cast", + CastDestinationType.googleCast, + device + ), + ) + .where((device) { + final caString = device.$3.extras["ca"]; + final caNumber = int.tryParse(caString ?? "0") ?? 0; + + return isDisplay(caNumber); + }).toList(growable: false); } }