@Override
 List<BladeRef> getBlades(Intent intent) {
   List<BladeRef> blades = BladeUtil.getAvailableBlades();
   List<BladeRef> installed =
       BladeUtil.getInstalledBlades(intent.getCharSequenceExtra("packageName").toString());
   // remove already installed Blades
   blades.removeAll(installed);
   return blades;
 }
    @Override
    public void onClick(DialogInterface dialog, int which) {
      switch (which) {
        case DialogInterface.BUTTON_POSITIVE:
          try {
            BladeUtil.installBlade(blade, appPackageName);
            removeBladeFromView(blade);
          } catch (IOException e) {
            Log.e(TAG, "Failed to install blade " + blade + " to app " + appPackageName, e);
          }
          break;

        case DialogInterface.BUTTON_NEGATIVE:
          // No button clicked: ignore
          break;
      }
    }