theyakka/qr.flutter

beeing able to create a valid QrCode object

Closed this issue · 1 comments

Is your feature request related to a problem? Please describe.
The share package doesn't allow sharing files on linux, thus i wanted to add the QR (in linux context, with a Platform.isLinux test) code as svg to the mail body, but the qr implementation seems to have a problem, as soon as isDark is accessed i get a "Null check operator used on a null value" exception

Describe the solution you'd like
be able to run:

QrCode qrCode = QrCode(4, QrErrorCorrectLevel.M);
qrCode.addData("test code....");

for (int x = 0; x < qrCode.moduleCount; x++) {
  for (int y = 0; y < qrCode.moduleCount; y++) {
    if (qrCode.isDark(y, x)) {
      // render a dark square on the canvas
    }
  }
}
without Unhandled Exception: Null check operator used on a null value directly at (0,0)

Describe alternatives you've considered
i have tried to include the dart lib but couldn't get around the name clashes

[edit] found another way to build the QrCode object:

QrCode qrCode = QrCode.fromData(
        data: "test code....",
         errorCorrectLevel:QrErrorCorrectLevel.L
      ) ;

but same problem, crashing....
ok, i added a debug print of the table that gives

matrix: [[null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]]

so i think i am missing a step somewhere?

Additional context

found myself.....
you need to call qrCode.make() to fill in the data, if it is possible to add this to the docu? thanks in advance