web only decode the latest image (#9689)
1. web only decode the latest image 2. web/ios remove relay server config when import Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
parent
defb3e6c73
commit
53d11e99d7
@ -3177,6 +3177,9 @@ importConfig(List<TextEditingController>? controllers, List<RxString>? errMsgs,
|
|||||||
if (text != null && text.isNotEmpty) {
|
if (text != null && text.isNotEmpty) {
|
||||||
try {
|
try {
|
||||||
final sc = ServerConfig.decode(text);
|
final sc = ServerConfig.decode(text);
|
||||||
|
if (isWeb || isIOS) {
|
||||||
|
sc.relayServer = '';
|
||||||
|
}
|
||||||
if (sc.idServer.isNotEmpty) {
|
if (sc.idServer.isNotEmpty) {
|
||||||
Future<bool> success = setServerConfig(controllers, errMsgs, sc);
|
Future<bool> success = setServerConfig(controllers, errMsgs, sc);
|
||||||
success.then((value) {
|
success.then((value) {
|
||||||
|
@ -1225,6 +1225,27 @@ class ImageModel with ChangeNotifier {
|
|||||||
|
|
||||||
clearImage() => _image = null;
|
clearImage() => _image = null;
|
||||||
|
|
||||||
|
bool _webDecodingRgba = false;
|
||||||
|
final List<Uint8List> _webRgbaList = List.empty(growable: true);
|
||||||
|
webOnRgba(int display, Uint8List rgba) async {
|
||||||
|
// deep copy needed, otherwise "instantiateCodec failed: TypeError: Cannot perform Construct on a detached ArrayBuffer"
|
||||||
|
_webRgbaList.add(Uint8List.fromList(rgba));
|
||||||
|
if (_webDecodingRgba) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_webDecodingRgba = true;
|
||||||
|
try {
|
||||||
|
while (_webRgbaList.isNotEmpty) {
|
||||||
|
final rgba2 = _webRgbaList.last;
|
||||||
|
_webRgbaList.clear();
|
||||||
|
await decodeAndUpdate(display, rgba2);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
debugPrint('onRgba error: $e');
|
||||||
|
}
|
||||||
|
_webDecodingRgba = false;
|
||||||
|
}
|
||||||
|
|
||||||
onRgba(int display, Uint8List rgba) async {
|
onRgba(int display, Uint8List rgba) async {
|
||||||
try {
|
try {
|
||||||
await decodeAndUpdate(display, rgba);
|
await decodeAndUpdate(display, rgba);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user