anchor.diff:  import '../models.dart';
   import '../state.dart';
   import 'utils.dart';
  +
  +final uriProvider =
  +    StateNotifierProvider<UriNotifier, String>((ref) => UriNotifier());
  +
  +class UriNotifier extends StateNotifier<String> {
  +  UriNotifier() : super('');
  +
  +  setUri(String value) {
  +    state = value;
  +  }
  +}
   
   final _secretFormatterPattern =
       RegExp('[abcdefghijklmnopqrstuvwxyz234567 ]', caseSensitive: false);
  
positive.code:   @override
    Widget build(BuildContext context) {
      return DropTarget(
        onDragDone: (detail) async {
          setState(() {
            _list.addAll(detail.files);
          });
          print('onDragDone:');
          for (final file in detail.files) {
            File f = new File(file.path);
            List<int> imageBytes = f.readAsBytesSync();
            String base64Image = base64Encode(imageBytes);
            final otpauth = await widget.qrScanner.scanQr(base64Image);
            print('Scanning complete');
            print(otpauth);
          }
        },
        onDragEntered: (detail) {
          setState(() {
            _dragging = true;
          });
        },
        onDragExited: (detail) {
          setState(() {
            _dragging = false;
          });
        },
        child: Container(
          height: 200,
          width: 200,
          color: _dragging ? Colors.blue.withOpacity(0.4) : Colors.black26,
          child: _list.isEmpty
              ? const Center(child: Text("Drop here"))
              : Text(_list.join("\n")),
        ),
      );
    }
  }
  
negative.code:   _DragDropTargetState createState() => _DragDropTargetState();
  }
  
  class _DragDropTargetState extends ConsumerState<DragDropTarget> {
    final List<XFile> _list = [];
  
    bool _dragging = false;
  