summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
diff options
context:
space:
mode:
authorAnderson Mesquita <andersonvom@gmail.com>2019-04-25 18:39:46 -0400
committerAnderson Mesquita <andersonvom@gmail.com>2019-05-19 13:25:27 -0400
commit9396d41dccd16435b0a1e608475dd45d2471918d (patch)
tree1785721dd5a4d72423ab3bfd427a7defc5a35474 /app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
parent683f7e46a27740634d6cde0e5f648e240b95e401 (diff)
downloadAntennaPod-9396d41dccd16435b0a1e608475dd45d2471918d.zip
Add space usage bar to data folder dialog
This displays a progress bar with the amount of used/free space in each storage location to make it easier to identify storage devices. This is particularly useful for devices that use non-standard names. Reference: #3049
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
index f2a074b9d..f625dcc0c 100644
--- a/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/DataFolderAdapter.java
@@ -20,6 +20,7 @@ import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.core.util.StorageUtils;
import de.danoeh.antennapod.dialog.ChooseDataFolderDialog;
+import me.zhanghai.android.materialprogressbar.MaterialProgressBar;
public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.ViewHolder> {
@@ -47,6 +48,7 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi
StoragePath storagePath = entries.get(position);
holder.path.setText(storagePath.getShortPath());
holder.size.setText(Converter.byteToString(storagePath.getAvailableSpace()));
+ holder.progressBar.setProgress(storagePath.getUsagePercentage());
holder.root.setOnClickListener((View v) -> selectAndDismiss(storagePath));
holder.radioButton.setOnClickListener((View v) -> selectAndDismiss(storagePath));
if (storagePath.getFullPath().equals(currentPath)) {
@@ -98,6 +100,7 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi
private TextView path;
private TextView size;
private RadioButton radioButton;
+ private MaterialProgressBar progressBar;
ViewHolder(View itemView) {
super(itemView);
@@ -105,6 +108,7 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi
path = itemView.findViewById(R.id.path);
size = itemView.findViewById(R.id.size);
radioButton = itemView.findViewById(R.id.radio_button);
+ progressBar = itemView.findViewById(R.id.used_space);
}
}
@@ -127,5 +131,13 @@ public class DataFolderAdapter extends RecyclerView.Adapter<DataFolderAdapter.Vi
long getAvailableSpace() {
return StorageUtils.getFreeSpaceAvailable(path);
}
+
+ long getTotalSpace() {
+ return StorageUtils.getTotalSpaceAvailable(path);
+ }
+
+ int getUsagePercentage() {
+ return 100 - (int) (100 * getAvailableSpace() / (float) getTotalSpace());
+ }
}
} \ No newline at end of file