1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
package com.cyanogenmod.filemanager.ui.widgets;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import com.cyanogenmod.filemanager.R;
import com.cyanogenmod.filemanager.model.MountPoint;
import com.cyanogenmod.filemanager.tasks.FilesystemAsyncTask;
import com.cyanogenmod.filemanager.ui.ThemeManager;
import com.cyanogenmod.filemanager.util.MountPointHelper;
public class DialogBreadcrumbView extends BreadcrumbView {
public DialogBreadcrumbView(Context context) {
super(context);
}
public DialogBreadcrumbView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DialogBreadcrumbView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void applyTheme() {
ThemeManager.Theme theme = ThemeManager.getCurrentTheme(getContext());
//- Breadcrumb
if (this.mBreadcrumbBar != null) {
int cc = this.mBreadcrumbBar.getChildCount();
for (int i = 0; i < cc; i++) {
// There are 2 types: Breadcrumb items and separators
View v = this.mBreadcrumbBar.getChildAt(i);
if (v instanceof BreadcrumbItem) {
// Breadcrumb item
theme.setTextColor(
getContext(), (BreadcrumbItem)v, "text_color"); //$NON-NLS-1$
} else if (v instanceof ImageView) {
// Divider drawable
theme.setImageDrawable(
getContext(),
(ImageView)v, "breadcrumb_divider_drawable"); //$NON-NLS-1$
}
}
}
if (this.mDiskUsageInfo != null) {
Drawable dw = theme.getDrawable(getContext(), "horizontal_progress_bar"); //$NON-NLS-1$
this.mDiskUsageInfo.setProgressDrawable(dw);
}
final ImageView fsInfo = (ImageView)findViewById(R.id.ab_filesystem_info);
if (fsInfo != null) {
MountPoint mp = (MountPoint) fsInfo.getTag();
if (mp == null) {
theme.setImageDrawable(getContext(), fsInfo, "filesystem_dialog_warning_drawable");
} else {
String resource =
MountPointHelper.isReadOnly(mp)
? "filesystem_dialog_locked_drawable"
: "filesystem_dialog_unlocked_drawable";
theme.setImageDrawable(getContext(), fsInfo, resource);
}
}
}
@Override
public synchronized void updateMountPointInfo() {
//Cancel the current execution (if any) and launch again
if (this.mFilesystemAsyncTask != null && this.mFilesystemAsyncTask.isRunning()) {
this.mFilesystemAsyncTask.cancel(true);
}
final ImageView filesystemInfo = (ImageView)findViewById(R.id.ab_filesystem_info);
final ProgressBar diskUsageInfo = (ProgressBar)findViewById(R.id.breadcrumb_diskusage);
this.mFilesystemAsyncTask =
new FilesystemAsyncTask(
getContext(), filesystemInfo,
diskUsageInfo, this.mFreeDiskSpaceWarningLevel, true);
this.mFilesystemAsyncTask.execute(this.mCurrentPath);
}
}
|