- Use Environment function to be more compatible.
- Take into account the directory sizes
- Fix usage dialog jumping on first open.
- Fix Java DiskUsageCommand to return correct DiskUsage based on MountPoint
Change-Id: I62c4e734a99f5eba8eb596db360e760cb8404b51
// file manager
File externalStorage = Environment.getExternalStorageDirectory();
MimeTypeIndexService.indexFileRoot(this, externalStorage.getAbsolutePath());
- MimeTypeIndexService.indexFileRoot(this, "/system");
+ MimeTypeIndexService.indexFileRoot(this, Environment.getRootDirectory().getAbsolutePath());
}
if (dirs != null) {
// Recurse directories
for (File dir : dirs) {
+ long size = dir.length();
+ if (!groupUsageMap.containsKey(MimeTypeCategory.NONE)) {
+ groupUsageMap.put(MimeTypeCategory.NONE, size);
+ } else {
+ long newSum = groupUsageMap.get(MimeTypeCategory.NONE) + size;
+ groupUsageMap.put(MimeTypeCategory.NONE, newSum);
+ }
calculateUsageByType(dir, groupUsageMap);
}
}
}
+ if (mIsInUsageTab) {
+ if (mLegendLayout.getVisibility() != View.VISIBLE) {
+ populateLegend();
+ mLegendLayout.setVisibility(View.VISIBLE);
+ }
+ }
+
this.mDiskUsageGraph.post(new Runnable() {
@Override
public void run() {
//Animate disk usage graph
FilesystemInfoDialog.this.mDiskUsageGraph.drawDiskUsage(mDiskUsage);
- if (mIsInUsageTab) {
- if (mLegendLayout.getVisibility() != View.VISIBLE) {
- populateLegend();
- mLegendLayout.setVisibility(View.VISIBLE);
- }
- }
isFetching = false;
}
});
// Apply theme
applyTabTheme();
}
+ if (mIsInUsageTab) {
+ if (mLegendLayout.getVisibility() != View.VISIBLE) {
+ populateLegend();
+ mLegendLayout.setVisibility(View.VISIBLE);
+ }
+ }
this.mDiskUsageGraph.post(new Runnable() {
@Override
public void run() {
//Animate disk usage graph
FilesystemInfoDialog.this.mDiskUsageGraph.drawDiskUsage(mDiskUsage);
- if (mIsInUsageTab) {
- if (mLegendLayout.getVisibility() != View.VISIBLE) {
- populateLegend();
- mLegendLayout.setVisibility(View.VISIBLE);
- }
- }
}
});
break;
c.getExecutableFactory().newCreator().createDiskUsageExecutable(dir);
execute(context, executable, c);
List<DiskUsage> du = executable.getResult();
- if (du != null && du.size() > 0) {
- return du.get(0);
+ for (DiskUsage d : du) {
+ if (d.getMountPoint().equals(dir)) {
+ return d;
+ }
}
}
return null;