title: Calling a UI method from Isolate listen method in Flutter throws exception
body: <p>I tried to use ovprogresshud (<a href="https://pub.dev/packages/ovprogresshud" rel="nofollow noreferrer">https://pub.dev/packages/ovprogresshud</a>) to show download progress. I used flutter_downloader (<a href="https://pub.dev/packages/flutter_downloader" rel="nofollow noreferrer">https://pub.dev/packages/flutter_downloader</a>) for download.</p>
  
  <p>I try to update progress via an Isolate, but receive errors.
  (If I call Progresshud.showWithStatusdirectly in my code, say before download, it works)</p>
  
  <p>My code:</p>
  
  <pre><code>ReceivePort _port = ReceivePort();
  ...
  
  IsolateNameServer.registerPortWithName(
          _port.sendPort, 'downloader_send_port');
  _port.listen(
        (dynamic data) {
          String id = data[0];
          DownloadTaskStatus status = data[1];
          int progress = data[2];
          if (status == DownloadTaskStatus.complete) {
          } else if (status == DownloadTaskStatus.running) {
            Progresshud.showWithStatus("%$progress Downloaded");
          }
        },
        onDone: () {
          checkIfDictionaryUnzipped(DBFilePath);
        },
        onError: (error) {},
      );
  </code></pre>
  
  <p>The error I receive:</p>
  
  <pre><code>Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'android.view.ViewParent android.view.ViewGroup.getParent()' on a null object reference, null)
  E/flutter (29114): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
  E/flutter (29114): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:321:33)
  E/flutter (29114): &lt;asynchronous suspension&gt;
  E/flutter (29114): #2      Progresshud.showWithStatus (package:ovprogresshud/progresshud.dart:18:27)
  E/flutter (29114): &lt;asynchronous suspension&gt;
  ....
  </code></pre>