aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaj Yengisetty <rajesh@cyngn.com>2015-01-07 15:15:41 -0800
committerRaj Yengisetty <rajesh@cyngn.com>2015-01-07 16:33:33 -0800
commit29b98cab4063db079236d263a53388f5898ceaf9 (patch)
tree6b5e7b0a1962782622884ae14d6af1f894942191
parent96f8e4ee5074f217c9fdb3f44ebc9811fed1843b (diff)
downloadandroid_packages_apps_CMFileManager-29b98cab4063db079236d263a53388f5898ceaf9.tar.gz
android_packages_apps_CMFileManager-29b98cab4063db079236d263a53388f5898ceaf9.tar.bz2
android_packages_apps_CMFileManager-29b98cab4063db079236d263a53388f5898ceaf9.zip
CMFileManager: change breadcrumb views in dialogs for better visibility
Change-Id: I0af7aef6d2605c1a2bf107ffce87236b01f11c42
-rw-r--r--res/drawable-hdpi/ic_material_dialog_fs_locked.pngbin0 -> 709 bytes
-rw-r--r--res/drawable-hdpi/ic_material_dialog_fs_unlocked.pngbin0 -> 703 bytes
-rw-r--r--res/drawable-hdpi/ic_material_dialog_fs_warning.pngbin0 -> 752 bytes
-rw-r--r--res/drawable-mdpi/ic_material_dialog_fs_locked.pngbin0 -> 374 bytes
-rw-r--r--res/drawable-mdpi/ic_material_dialog_fs_unlocked.pngbin0 -> 376 bytes
-rw-r--r--res/drawable-mdpi/ic_material_dialog_fs_warning.pngbin0 -> 535 bytes
-rw-r--r--res/drawable-xhdpi/ic_material_dialog_fs_locked.pngbin0 -> 890 bytes
-rw-r--r--res/drawable-xhdpi/ic_material_dialog_fs_unlocked.pngbin0 -> 886 bytes
-rw-r--r--res/drawable-xhdpi/ic_material_dialog_fs_warning.pngbin0 -> 1152 bytes
-rw-r--r--res/drawable-xxhdpi/ic_material_dialog_fs_locked.pngbin0 -> 1177 bytes
-rw-r--r--res/drawable-xxhdpi/ic_material_dialog_fs_unlocked.pngbin0 -> 1168 bytes
-rw-r--r--res/drawable-xxhdpi/ic_material_dialog_fs_warning.pngbin0 -> 1126 bytes
-rw-r--r--res/layout/picker.xml2
-rw-r--r--res/values/theme.xml6
-rw-r--r--src/com/cyanogenmod/filemanager/tasks/FilesystemAsyncTask.java34
-rw-r--r--src/com/cyanogenmod/filemanager/ui/widgets/BreadcrumbView.java8
-rw-r--r--src/com/cyanogenmod/filemanager/ui/widgets/DialogBreadcrumbView.java83
17 files changed, 125 insertions, 8 deletions
diff --git a/res/drawable-hdpi/ic_material_dialog_fs_locked.png b/res/drawable-hdpi/ic_material_dialog_fs_locked.png
new file mode 100644
index 00000000..b61917a0
--- /dev/null
+++ b/res/drawable-hdpi/ic_material_dialog_fs_locked.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_material_dialog_fs_unlocked.png b/res/drawable-hdpi/ic_material_dialog_fs_unlocked.png
new file mode 100644
index 00000000..bab5401f
--- /dev/null
+++ b/res/drawable-hdpi/ic_material_dialog_fs_unlocked.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_material_dialog_fs_warning.png b/res/drawable-hdpi/ic_material_dialog_fs_warning.png
new file mode 100644
index 00000000..929ab5eb
--- /dev/null
+++ b/res/drawable-hdpi/ic_material_dialog_fs_warning.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_material_dialog_fs_locked.png b/res/drawable-mdpi/ic_material_dialog_fs_locked.png
new file mode 100644
index 00000000..21b679c7
--- /dev/null
+++ b/res/drawable-mdpi/ic_material_dialog_fs_locked.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_material_dialog_fs_unlocked.png b/res/drawable-mdpi/ic_material_dialog_fs_unlocked.png
new file mode 100644
index 00000000..e7ff986e
--- /dev/null
+++ b/res/drawable-mdpi/ic_material_dialog_fs_unlocked.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_material_dialog_fs_warning.png b/res/drawable-mdpi/ic_material_dialog_fs_warning.png
new file mode 100644
index 00000000..b787fabd
--- /dev/null
+++ b/res/drawable-mdpi/ic_material_dialog_fs_warning.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_material_dialog_fs_locked.png b/res/drawable-xhdpi/ic_material_dialog_fs_locked.png
new file mode 100644
index 00000000..112a25cf
--- /dev/null
+++ b/res/drawable-xhdpi/ic_material_dialog_fs_locked.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_material_dialog_fs_unlocked.png b/res/drawable-xhdpi/ic_material_dialog_fs_unlocked.png
new file mode 100644
index 00000000..7684ff8a
--- /dev/null
+++ b/res/drawable-xhdpi/ic_material_dialog_fs_unlocked.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_material_dialog_fs_warning.png b/res/drawable-xhdpi/ic_material_dialog_fs_warning.png
new file mode 100644
index 00000000..3d9ebc71
--- /dev/null
+++ b/res/drawable-xhdpi/ic_material_dialog_fs_warning.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_material_dialog_fs_locked.png b/res/drawable-xxhdpi/ic_material_dialog_fs_locked.png
new file mode 100644
index 00000000..7948955f
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_material_dialog_fs_locked.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_material_dialog_fs_unlocked.png b/res/drawable-xxhdpi/ic_material_dialog_fs_unlocked.png
new file mode 100644
index 00000000..78c2bdb7
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_material_dialog_fs_unlocked.png
Binary files differ
diff --git a/res/drawable-xxhdpi/ic_material_dialog_fs_warning.png b/res/drawable-xxhdpi/ic_material_dialog_fs_warning.png
new file mode 100644
index 00000000..4f8f354c
--- /dev/null
+++ b/res/drawable-xxhdpi/ic_material_dialog_fs_warning.png
Binary files differ
diff --git a/res/layout/picker.xml b/res/layout/picker.xml
index 8baa52e0..3e6d56c5 100644
--- a/res/layout/picker.xml
+++ b/res/layout/picker.xml
@@ -23,7 +23,7 @@
android:orientation="vertical">
<!-- Breadcrumb -->
- <com.cyanogenmod.filemanager.ui.widgets.BreadcrumbView
+ <com.cyanogenmod.filemanager.ui.widgets.DialogBreadcrumbView
android:id="@+id/breadcrumb_view"
android:layout_width="match_parent"
android:layout_height="@dimen/default_row_height"
diff --git a/res/values/theme.xml b/res/values/theme.xml
index 826d2d22..9ebf67e4 100644
--- a/res/values/theme.xml
+++ b/res/values/theme.xml
@@ -108,6 +108,12 @@
<drawable name="filesystem_unlocked_drawable">@drawable/ic_material_light_fs_unlocked</drawable>
<!-- FileSystem warning drawable -->
<drawable name="filesystem_warning_drawable">@drawable/ic_material_light_fs_warning</drawable>
+ <!-- FileSystem locked drawable -->
+ <drawable name="filesystem_dialog_locked_drawable">@drawable/ic_material_dialog_fs_locked</drawable>
+ <!-- FileSystem unlocked drawable -->
+ <drawable name="filesystem_dialog_unlocked_drawable">@drawable/ic_material_dialog_fs_unlocked</drawable>
+ <!-- FileSystem warning drawable -->
+ <drawable name="filesystem_dialog_warning_drawable">@drawable/ic_material_dialog_fs_warning</drawable>
<!-- Secure FileSystem icon -->
<drawable name="secure_filesystem_drawable">@drawable/ic_material_light_secure</drawable>
diff --git a/src/com/cyanogenmod/filemanager/tasks/FilesystemAsyncTask.java b/src/com/cyanogenmod/filemanager/tasks/FilesystemAsyncTask.java
index dceeed5f..1f457d3d 100644
--- a/src/com/cyanogenmod/filemanager/tasks/FilesystemAsyncTask.java
+++ b/src/com/cyanogenmod/filemanager/tasks/FilesystemAsyncTask.java
@@ -58,6 +58,11 @@ public class FilesystemAsyncTask extends AsyncTask<String, Integer, Boolean> {
/**
* @hide
*/
+ final boolean mIsDialog;
+
+ /**
+ * @hide
+ */
static int sColorFilterNormal;
/**
@@ -71,12 +76,29 @@ public class FilesystemAsyncTask extends AsyncTask<String, Integer, Boolean> {
public FilesystemAsyncTask(
Context context, ImageView mountPointInfo,
ProgressBar diskUsageInfo, int freeDiskSpaceWarningLevel) {
+ this(context, mountPointInfo, diskUsageInfo, freeDiskSpaceWarningLevel,
+ false);
+ }
+
+ /**
+ * Constructor of <code>FilesystemAsyncTask</code>.
+ *
+ * @param context The current context
+ * @param mountPointInfo The mount point info view
+ * @param diskUsageInfo The mount point info view
+ * @param freeDiskSpaceWarningLevel The free disk space warning level
+ * @param isDialog Whether or not to use dialog theme resources
+ */
+ public FilesystemAsyncTask(
+ Context context, ImageView mountPointInfo,
+ ProgressBar diskUsageInfo, int freeDiskSpaceWarningLevel, boolean isDialog) {
super();
this.mContext = context;
this.mMountPointInfo = mountPointInfo;
this.mDiskUsageInfo = diskUsageInfo;
this.mFreeDiskSpaceWarningLevel = freeDiskSpaceWarningLevel;
this.mRunning = false;
+ this.mIsDialog = isDialog;
}
/**
@@ -116,7 +138,9 @@ public class FilesystemAsyncTask extends AsyncTask<String, Integer, Boolean> {
theme.setImageDrawable(
FilesystemAsyncTask.this.mContext,
FilesystemAsyncTask.this.mMountPointInfo,
- "filesystem_warning_drawable"); //$NON-NLS-1$
+ FilesystemAsyncTask.this.mIsDialog ?
+ "filesystem_dialog_warning_drawable" //$NON-NLS-1$
+ : "filesystem_warning_drawable"); //$NON-NLS-1$
FilesystemAsyncTask.this.mMountPointInfo.setTag(null);
}
});
@@ -130,8 +154,12 @@ public class FilesystemAsyncTask extends AsyncTask<String, Integer, Boolean> {
public void run() {
String resource =
MountPointHelper.isReadOnly(mp)
- ? "filesystem_locked_drawable" //$NON-NLS-1$
- : "filesystem_unlocked_drawable"; //$NON-NLS-1$
+ ? FilesystemAsyncTask.this.mIsDialog ?
+ "filesystem_dialog_locked_drawable" //$NON-NLS-1$
+ : "filesystem_locked_drawable" //$NON-NLS-1$
+ : FilesystemAsyncTask.this.mIsDialog ?
+ "filesystem_dialog_unlocked_drawable" //$NON-NLS-1$
+ : "filesystem_unlocked_drawable"; //$NON-NLS-1$
Theme theme = ThemeManager.getCurrentTheme(FilesystemAsyncTask.this.mContext);
theme.setImageDrawable(
FilesystemAsyncTask.this.mContext,
diff --git a/src/com/cyanogenmod/filemanager/ui/widgets/BreadcrumbView.java b/src/com/cyanogenmod/filemanager/ui/widgets/BreadcrumbView.java
index baef88f6..fbe397ab 100644
--- a/src/com/cyanogenmod/filemanager/ui/widgets/BreadcrumbView.java
+++ b/src/com/cyanogenmod/filemanager/ui/widgets/BreadcrumbView.java
@@ -52,7 +52,7 @@ public class BreadcrumbView extends RelativeLayout implements Breadcrumb, OnClic
* @hide
*/
HorizontalScrollView mScrollView;
- private ViewGroup mBreadcrumbBar;
+ protected ViewGroup mBreadcrumbBar;
/**
* @hide
*/
@@ -65,13 +65,13 @@ public class BreadcrumbView extends RelativeLayout implements Breadcrumb, OnClic
* @hide
*/
View mLoading;
- private FilesystemAsyncTask mFilesystemAsyncTask;
+ protected FilesystemAsyncTask mFilesystemAsyncTask;
- private int mFreeDiskSpaceWarningLevel = 95;
+ protected int mFreeDiskSpaceWarningLevel = 95;
private List<BreadcrumbListener> mBreadcrumbListeners;
- private String mCurrentPath;
+ protected String mCurrentPath;
/**
* Constructor of <code>BreadcrumbView</code>.
diff --git a/src/com/cyanogenmod/filemanager/ui/widgets/DialogBreadcrumbView.java b/src/com/cyanogenmod/filemanager/ui/widgets/DialogBreadcrumbView.java
new file mode 100644
index 00000000..1993af64
--- /dev/null
+++ b/src/com/cyanogenmod/filemanager/ui/widgets/DialogBreadcrumbView.java
@@ -0,0 +1,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);
+ }
+}