summaryrefslogtreecommitdiffstats
path: root/packages/DocumentsUI/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/DocumentsUI/src')
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java38
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/IconUtils.java15
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsCache.java2
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java2
-rw-r--r--packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java12
5 files changed, 37 insertions, 32 deletions
diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
index caa07ab..39c2252 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java
@@ -807,6 +807,9 @@ public class DirectoryFragment extends Fragment {
|| MimePredicate.mimeMatches(MimePredicate.VISUAL_MIMES, docMimeType);
final boolean showThumbnail = supportsThumbnail && allowThumbnail && !mSvelteRecents;
+ final boolean enabled = isDocumentEnabled(docMimeType, docFlags);
+ final float iconAlpha = (state.derivedMode == MODE_LIST && !enabled) ? 0.5f : 1f;
+
boolean cacheHit = false;
if (showThumbnail) {
final Uri uri = DocumentsContract.buildDocumentUri(docAuthority, docId);
@@ -817,7 +820,7 @@ public class DirectoryFragment extends Fragment {
} else {
iconThumb.setImageDrawable(null);
final ThumbnailAsyncTask task = new ThumbnailAsyncTask(
- uri, iconMime, iconThumb, mThumbSize);
+ uri, iconMime, iconThumb, mThumbSize, iconAlpha);
iconThumb.setTag(task);
ProviderExecutor.forAuthority(docAuthority).execute(task);
}
@@ -886,7 +889,7 @@ public class DirectoryFragment extends Fragment {
// hint to remind user they're a directory.
if (Document.MIME_TYPE_DIR.equals(docMimeType) && state.derivedMode == MODE_GRID
&& showThumbnail) {
- iconDrawable = IconUtils.applyTint(context, R.drawable.ic_doc_folder,
+ iconDrawable = IconUtils.applyTintAttr(context, R.drawable.ic_doc_folder,
android.R.attr.textColorPrimaryInverse);
}
@@ -940,20 +943,12 @@ public class DirectoryFragment extends Fragment {
line2.setVisibility(hasLine2 ? View.VISIBLE : View.GONE);
}
- final boolean enabled = isDocumentEnabled(docMimeType, docFlags);
- if (enabled) {
- setEnabledRecursive(convertView, true);
- iconMime.setAlpha(1f);
- iconThumb.setAlpha(1f);
- if (icon1 != null) icon1.setAlpha(1f);
- if (icon2 != null) icon2.setAlpha(1f);
- } else {
- setEnabledRecursive(convertView, false);
- iconMime.setAlpha(0.5f);
- iconThumb.setAlpha(0.5f);
- if (icon1 != null) icon1.setAlpha(0.5f);
- if (icon2 != null) icon2.setAlpha(0.5f);
- }
+ setEnabledRecursive(convertView, enabled);
+
+ iconMime.setAlpha(iconAlpha);
+ iconThumb.setAlpha(iconAlpha);
+ if (icon1 != null) icon1.setAlpha(iconAlpha);
+ if (icon2 != null) icon2.setAlpha(iconAlpha);
return convertView;
}
@@ -1000,14 +995,16 @@ public class DirectoryFragment extends Fragment {
private final ImageView mIconMime;
private final ImageView mIconThumb;
private final Point mThumbSize;
+ private final float mTargetAlpha;
private final CancellationSignal mSignal;
- public ThumbnailAsyncTask(
- Uri uri, ImageView iconMime, ImageView iconThumb, Point thumbSize) {
+ public ThumbnailAsyncTask(Uri uri, ImageView iconMime, ImageView iconThumb, Point thumbSize,
+ float targetAlpha) {
mUri = uri;
mIconMime = iconMime;
mIconThumb = iconThumb;
mThumbSize = thumbSize;
+ mTargetAlpha = targetAlpha;
mSignal = new CancellationSignal();
}
@@ -1051,11 +1048,10 @@ public class DirectoryFragment extends Fragment {
mIconThumb.setTag(null);
mIconThumb.setImageBitmap(result);
- final float targetAlpha = mIconMime.isEnabled() ? 1f : 0.5f;
- mIconMime.setAlpha(targetAlpha);
+ mIconMime.setAlpha(mTargetAlpha);
mIconMime.animate().alpha(0f).start();
mIconThumb.setAlpha(0f);
- mIconThumb.animate().alpha(targetAlpha).start();
+ mIconThumb.animate().alpha(mTargetAlpha).start();
}
}
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
index b2e38fc..416aeb0 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/IconUtils.java
@@ -266,15 +266,16 @@ public class IconUtils {
}
}
- public static Drawable applyTint(Context context, int drawableId, int tintAttrId) {
- final Resources res = context.getResources();
-
- final TypedValue outValue = new TypedValue();
- context.getTheme().resolveAttribute(tintAttrId, outValue, true);
-
+ public static Drawable applyTintColor(Context context, int drawableId, int tintColorId) {
final Drawable icon = context.getDrawable(drawableId);
icon.mutate();
- icon.setTintList(res.getColorStateList(outValue.resourceId));
+ icon.setTintList(context.getResources().getColorStateList(tintColorId));
return icon;
}
+
+ public static Drawable applyTintAttr(Context context, int drawableId, int tintAttrId) {
+ final TypedValue outValue = new TypedValue();
+ context.getTheme().resolveAttribute(tintAttrId, outValue, true);
+ return applyTintColor(context, drawableId, outValue.resourceId);
+ }
}
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
index a465ecd..f81690a 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsCache.java
@@ -58,7 +58,7 @@ import java.util.concurrent.TimeUnit;
* Cache of known storage backends and their roots.
*/
public class RootsCache {
- private static final boolean LOGD = true;
+ private static final boolean LOGD = false;
public static final Uri sNotificationUri = Uri.parse(
"content://com.android.documentsui.roots/");
diff --git a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
index b19e028..884cf31 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/RootsFragment.java
@@ -235,7 +235,7 @@ public class RootsFragment extends Fragment {
final TextView summary = (TextView) convertView.findViewById(android.R.id.summary);
final Context context = convertView.getContext();
- icon.setImageDrawable(root.loadIcon(context));
+ icon.setImageDrawable(root.loadDrawerIcon(context));
title.setText(root.title);
// Show available space if no summary
diff --git a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
index fcfe518..97d8ed0 100644
--- a/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
+++ b/packages/DocumentsUI/src/com/android/documentsui/model/RootInfo.java
@@ -211,9 +211,17 @@ public class RootInfo implements Durable, Parcelable {
}
}
+ public Drawable loadDrawerIcon(Context context) {
+ if (derivedIcon != 0) {
+ return IconUtils.applyTintColor(context, derivedIcon, R.color.item_root_icon);
+ } else {
+ return IconUtils.loadPackageIcon(context, authority, icon);
+ }
+ }
+
public Drawable loadGridIcon(Context context) {
if (derivedIcon != 0) {
- return IconUtils.applyTint(context, derivedIcon,
+ return IconUtils.applyTintAttr(context, derivedIcon,
android.R.attr.textColorPrimaryInverse);
} else {
return IconUtils.loadPackageIcon(context, authority, icon);
@@ -222,7 +230,7 @@ public class RootInfo implements Durable, Parcelable {
public Drawable loadToolbarIcon(Context context) {
if (derivedIcon != 0) {
- return IconUtils.applyTint(context, derivedIcon,
+ return IconUtils.applyTintAttr(context, derivedIcon,
android.R.attr.colorControlNormal);
} else {
return IconUtils.loadPackageIcon(context, authority, icon);