ClipboardStatusNotifier.update запускается TextField

Я заметил очень странную ошибку, исходящую от одного из моих пользователей на устройстве Android.

      PlatformException(error, UID 10397 does not have permission to content://com.android.chrome.FileProvider/images/screenshot/16135867539687851983769776210385.jpg [user 0], null)
#0      JSONMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:151)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:161)
<asynchronous suspension>
#2      Clipboard.getData (package:flutter/src/services/clipboard.dart:58)
<asynchronous suspension>
#3      ClipboardStatusNotifier.update.<anonymous closure> (package:flutter/src/widgets/text_selection.dart)
<asynchronous suspension>

Похоже, это происходит, когда он использует, скорее всего (просматривая журналы), когда он нажимает кнопку «Поиск» на клавиатуре, то есть запускает onSubmittedобратный вызов на. Вот код текстового поля:

      TextField(
    autofocus: false,
    keyboardType: TextInputType.visiblePassword,
    decoration: InputDecoration(
        border: InputBorder.none,
        hintText: ''
    ),
    textInputAction: TextInputAction.search,
    controller: model.searchStringController,
    onSubmitted: (value){
        model.performSearch('SearchTextField');
    },

),

model.performSearch() выполняет поиск в локальной базе данных SQLite, а затем вызывает notifyListenersвосстановить дерево виджетов. Кажется, что ошибка возникает после завершения обратного вызова, поэтому она может быть связана либо с перестройкой, либо с закрытием экранной клавиатуры.

Я пробовал воспроизвести это, но не могу понять, как это происходит. Кажется, это происходит каждый раз, когда этот пользователь отправляет TextField, что приводит к появлению большого количества журналов ошибок.

0 ответов