protected function getCurrentPackageStates()
{
$savePackageStates = false;
$loadedPackageStates = $this->loadPackageStates();
if (empty($loadedPackageStates) || !isset($loadedPackageStates['version']) || $loadedPackageStates['version'] < self::PACKAGESTATE_FORMAT_VERSION) {
$loadedPackageStates = $this->scanAvailablePackages($loadedPackageStates);
$savePackageStates = true;
}
if ($savePackageStates) {
$loadedPackageStates = $this->sortAndSavePackageStates($loadedPackageStates);
}
return $loadedPackageStates;
}