The runScan() method was returning scanResult but never assigning it to this.lastScanResult, causing getLastScanResult() to always return null.
The runScan() method was returning scanResult but never assigning it to this.lastScanResult, causing getLastScanResult() to always return null.