private List<StorageMount> getSecondayExternals(Context context) {
      List<StorageMount> mounts = new ArrayList<StorageMount>();

      String primaryPath = context.getExternalFilesDir(null).getParent();

      int i = 0;

      for (File f : SystemUtils.getExternalFilesDirs(context)) {
        if (!f.getAbsolutePath().startsWith(primaryPath)
            && SystemUtils.isSecondaryExternalStorageMounted(f)) {

          String label = context.getString(R.string.sdcard_storage) + " " + (++i);
          String description =
              UIUtils.getBytesInHuman(SystemUtils.getAvailableStorageSize(f))
                  + " "
                  + context.getString(R.string.available);
          String path = f.getAbsolutePath();

          StorageMount mount = new StorageMount(label, description, path, false);

          mounts.add(mount);
        }
      }

      return mounts;
    }
    private StorageMount getPrimaryExternal(Context context) {
      StorageMount mount = null;

      if (SystemUtils.isPrimaryExternalStorageMounted()) {
        File dir = Environment.getExternalStorageDirectory();

        String label = context.getString(R.string.device_storage);
        String description =
            UIUtils.getBytesInHuman(SystemUtils.getAvailableStorageSize(dir))
                + " "
                + context.getString(R.string.available);
        String path = dir.getAbsolutePath();

        mount = new StorageMount(label, description, path, true);
      }

      return mount;
    }
 private void uxLogSelection() {
   try {
     File file = new File(selectedPath);
     boolean isInternalMemory = SystemUtils.isPrimaryExternalPath(file);
     UXStats.instance()
         .log(
             isInternalMemory
                 ? UXAction.SETTINGS_SET_STORAGE_INTERNAL_MEMORY
                 : UXAction.SETTINGS_SET_STORAGE_SD_CARD);
   } catch (Throwable t) {
     // we tried.
   }
 }