code: def packages(self):
          
          pattern = re.compile(r'package:(/[^=]+\.apk)=([^\s]+)')
          packages = []
          for line in self.shell('pm', 'list', 'packages', '-f').splitlines():
              m = pattern.match(line)
              if not m:
                  continue
              path, name = m.group(1), m.group(2)
              packages.append(self.Package(name, path))
          return packages
docs: Show all packages