Update cursor id immediately after the cursor event
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
197a9330df
commit
5d6d8e68ed
@ -203,10 +203,12 @@ class FfiModel with ChangeNotifier {
|
|||||||
updatePrivacyMode(data.updatePrivacyMode, sessionId, peerId);
|
updatePrivacyMode(data.updatePrivacyMode, sessionId, peerId);
|
||||||
setConnectionType(peerId, data.secure, data.direct);
|
setConnectionType(peerId, data.secure, data.direct);
|
||||||
await handlePeerInfo(data.peerInfo, peerId);
|
await handlePeerInfo(data.peerInfo, peerId);
|
||||||
for (var element in data.cursorDataList) {
|
for (final element in data.cursorDataList) {
|
||||||
|
updateLastCursorId(element);
|
||||||
await handleCursorData(element);
|
await handleCursorData(element);
|
||||||
}
|
}
|
||||||
await handleCursorId(data.lastCursorId);
|
updateLastCursorId(data.lastCursorId);
|
||||||
|
handleCursorId(data.lastCursorId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo: why called by two position
|
// todo: why called by two position
|
||||||
@ -225,9 +227,11 @@ class FfiModel with ChangeNotifier {
|
|||||||
} else if (name == 'switch_display') {
|
} else if (name == 'switch_display') {
|
||||||
handleSwitchDisplay(evt, sessionId, peerId);
|
handleSwitchDisplay(evt, sessionId, peerId);
|
||||||
} else if (name == 'cursor_data') {
|
} else if (name == 'cursor_data') {
|
||||||
|
updateLastCursorId(evt);
|
||||||
await handleCursorData(evt);
|
await handleCursorData(evt);
|
||||||
} else if (name == 'cursor_id') {
|
} else if (name == 'cursor_id') {
|
||||||
await handleCursorId(evt);
|
updateLastCursorId(evt);
|
||||||
|
handleCursorId(evt);
|
||||||
} else if (name == 'cursor_position') {
|
} else if (name == 'cursor_position') {
|
||||||
await parent.target?.cursorModel.updateCursorPosition(evt, peerId);
|
await parent.target?.cursorModel.updateCursorPosition(evt, peerId);
|
||||||
} else if (name == 'clipboard') {
|
} else if (name == 'clipboard') {
|
||||||
@ -651,9 +655,13 @@ class FfiModel with ChangeNotifier {
|
|||||||
return d;
|
return d;
|
||||||
}
|
}
|
||||||
|
|
||||||
handleCursorId(Map<String, dynamic> evt) async {
|
updateLastCursorId(Map<String, dynamic> evt) {
|
||||||
|
parent.target?.cursorModel.id = int.parse(evt['id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleCursorId(Map<String, dynamic> evt) {
|
||||||
cachedPeerData.lastCursorId = evt;
|
cachedPeerData.lastCursorId = evt;
|
||||||
await parent.target?.cursorModel.updateCursorId(evt);
|
parent.target?.cursorModel.updateCursorId(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
handleCursorData(Map<String, dynamic> evt) async {
|
handleCursorData(Map<String, dynamic> evt) async {
|
||||||
@ -1302,6 +1310,8 @@ class CursorModel with ChangeNotifier {
|
|||||||
double get hotx => _hotx;
|
double get hotx => _hotx;
|
||||||
double get hoty => _hoty;
|
double get hoty => _hoty;
|
||||||
|
|
||||||
|
set id(int id) => _id = id;
|
||||||
|
|
||||||
bool get isPeerControlProtected =>
|
bool get isPeerControlProtected =>
|
||||||
DateTime.now().difference(_lastPeerMouse).inMilliseconds <
|
DateTime.now().difference(_lastPeerMouse).inMilliseconds <
|
||||||
kMouseControlTimeoutMSec;
|
kMouseControlTimeoutMSec;
|
||||||
@ -1441,8 +1451,6 @@ class CursorModel with ChangeNotifier {
|
|||||||
|
|
||||||
updateCursorData(Map<String, dynamic> evt) async {
|
updateCursorData(Map<String, dynamic> evt) async {
|
||||||
final id = int.parse(evt['id']);
|
final id = int.parse(evt['id']);
|
||||||
// Update last cursor id.
|
|
||||||
_id = id;
|
|
||||||
final hotx = double.parse(evt['hotx']);
|
final hotx = double.parse(evt['hotx']);
|
||||||
final hoty = double.parse(evt['hoty']);
|
final hoty = double.parse(evt['hoty']);
|
||||||
final width = int.parse(evt['width']);
|
final width = int.parse(evt['width']);
|
||||||
@ -1517,8 +1525,7 @@ class CursorModel with ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
updateCursorId(Map<String, dynamic> evt) async {
|
updateCursorId(Map<String, dynamic> evt) {
|
||||||
_id = int.parse(evt['id']);
|
|
||||||
if (!_updateCurData()) {
|
if (!_updateCurData()) {
|
||||||
debugPrint(
|
debugPrint(
|
||||||
'WARNING: updateCursorId $_id, cache is ${_cache == null ? "null" : "not null"}. without notifyListeners()');
|
'WARNING: updateCursorId $_id, cache is ${_cache == null ? "null" : "not null"}. without notifyListeners()');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user