[mob][photos] Send pair req after getting receiver status
This commit is contained in:
parent
e903fbf9bc
commit
36dbda895c
1 changed files with 26 additions and 6 deletions
|
@ -1,29 +1,49 @@
|
|||
import "dart:developer" as dev;
|
||||
|
||||
import "package:cast/cast.dart";
|
||||
import "package:ente_cast/ente_cast.dart";
|
||||
import "package:flutter/material.dart";
|
||||
|
||||
class CastServiceImpl extends CastService {
|
||||
final String _appId = 'F5BCEC64';
|
||||
final String _pairRequestNamespace = 'urn:x-cast:pair-request';
|
||||
final Map<String, CastDevice> sessionIDToDeviceID = {};
|
||||
|
||||
@override
|
||||
Future<void> connectDevice(BuildContext context, Object device) async {
|
||||
final CastDevice castDevice = device as CastDevice;
|
||||
final session = await CastSessionManager().startSession(castDevice);
|
||||
session.messageStream.listen((message) {
|
||||
if (message['type'] == "RECEIVER_STATUS") {
|
||||
dev.log(
|
||||
"got RECEIVER_STATUS, Send request to pair",
|
||||
name: "CastServiceImpl",
|
||||
);
|
||||
session.sendMessage(_pairRequestNamespace, {});
|
||||
} else {
|
||||
print('receive message: $message');
|
||||
}
|
||||
});
|
||||
|
||||
session.stateStream.listen((state) {
|
||||
if (state == CastSessionState.connected) {
|
||||
const snackBar = SnackBar(content: Text('Connected'));
|
||||
ScaffoldMessenger.of(context).showSnackBar(snackBar);
|
||||
session.sendMessage('urn:x-cast:pair-request', {});
|
||||
sessionIDToDeviceID[session.sessionId] = castDevice;
|
||||
debugPrint("Send request to pair");
|
||||
session.sendMessage(_pairRequestNamespace, {});
|
||||
} else if (state == CastSessionState.closed) {
|
||||
dev.log('Session closed', name: 'CastServiceImpl');
|
||||
sessionIDToDeviceID.remove(session.sessionId);
|
||||
}
|
||||
});
|
||||
session.messageStream.listen((message) {
|
||||
print('receive message: $message');
|
||||
});
|
||||
|
||||
debugPrint("Send request to launch");
|
||||
session.sendMessage(CastSession.kNamespaceReceiver, {
|
||||
'type': 'LAUNCH',
|
||||
'appId': 'F5BCEC64', // set the appId of your app here
|
||||
'appId': _appId, // set the appId of your app here
|
||||
});
|
||||
session.sendMessage('urn:x-cast:pair-request', {});
|
||||
// session.sendMessage('urn:x-cast:pair-request', {});
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
Loading…
Add table
Reference in a new issue