@Override
 protected List<AppInfo> doInBackground(Void... objects) {
   List<AppInfo> labelsPackages = new ArrayList<AppInfo>();
   PackageManager packageManager = activity.getPackageManager();
   Iterable<ApplicationInfo> appInfos = packageManager.getInstalledApplications(0);
   for (PackageItemInfo appInfo : appInfos) {
     String packageName = appInfo.packageName;
     if (!isHidden(packageName)) {
       CharSequence label = appInfo.loadLabel(packageManager);
       Drawable icon = appInfo.loadIcon(packageManager);
       if (label != null) {
         labelsPackages.add(new AppInfo(packageName, label.toString(), icon));
       }
     }
   }
   Collections.sort(labelsPackages);
   return labelsPackages;
 }