summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2014-08-29 15:38:27 -0700
committerJeff Sharkey <jsharkey@android.com>2014-08-29 15:40:19 -0700
commitcbce47001e15be85b084c36a64c20039a0c4a667 (patch)
treeafc55b02a68a909194bc3dda03b785dc9f3160ec
parent73a821780334bc7972bca28d848cbce70cc3f825 (diff)
downloadframeworks_base-cbce47001e15be85b084c36a64c20039a0c4a667.zip
frameworks_base-cbce47001e15be85b084c36a64c20039a0c4a667.tar.gz
frameworks_base-cbce47001e15be85b084c36a64c20039a0c4a667.tar.bz2
Final pass at Material DocumentsUI.
Now with treatment for disabled and selected grid items. Inverts text and icons in selected drawer items. Follows upstream color changes to accent color. Disables some verbose logging. Bug: 15836082, 17281688 Change-Id: I97a1c055a2f1a537388a8f5669147618e9698870
-rw-r--r--packages/DocumentsUI/res/color/item_root_icon.xml21
-rw-r--r--packages/DocumentsUI/res/color/item_root_primary_text.xml22
-rw-r--r--packages/DocumentsUI/res/drawable-hdpi/ic_grid_selection_check.pngbin0 -> 1575 bytes
-rw-r--r--packages/DocumentsUI/res/drawable-mdpi/ic_grid_selection_check.pngbin0 -> 996 bytes
-rw-r--r--packages/DocumentsUI/res/drawable-xhdpi/ic_grid_selection_check.pngbin0 -> 2062 bytes
-rw-r--r--packages/DocumentsUI/res/drawable-xxhdpi/ic_grid_selection_check.pngbin0 -> 3976 bytes
-rw-r--r--packages/DocumentsUI/res/drawable-xxxhdpi/ic_grid_selection_check.pngbin0 -> 4126 bytes
-rw-r--r--packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml22
-rw-r--r--packages/DocumentsUI/res/drawable/item_doc_grid_overlay_icon.xml (renamed from packages/DocumentsUI/res/drawable/grid_protect_background.xml)11
-rw-r--r--packages/DocumentsUI/res/drawable/item_doc_list_background.xml (renamed from packages/DocumentsUI/res/drawable/item_activated_overlay.xml)8
-rw-r--r--packages/DocumentsUI/res/drawable/item_root_background.xml (renamed from packages/DocumentsUI/res/drawable/item_activated.xml)0
-rw-r--r--packages/DocumentsUI/res/layout-sw720dp-land/item_doc_list.xml2
-rw-r--r--packages/DocumentsUI/res/layout/item_doc_grid.xml27
-rw-r--r--packages/DocumentsUI/res/layout/item_doc_list.xml2
-rw-r--r--packages/DocumentsUI/res/layout/item_root.xml12
-rw-r--r--packages/DocumentsUI/res/values/colors.xml14
-rw-r--r--packages/DocumentsUI/res/values/styles.xml1
-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
22 files changed, 149 insertions, 62 deletions
diff --git a/packages/DocumentsUI/res/color/item_root_icon.xml b/packages/DocumentsUI/res/color/item_root_icon.xml
new file mode 100644
index 0000000..1374e61
--- /dev/null
+++ b/packages/DocumentsUI/res/color/item_root_icon.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_focused="true" android:state_activated="true" android:color="@*android:color/primary_text_default_material_dark" />
+ <item android:state_focused="false" android:state_activated="true" android:color="@*android:color/primary_text_default_material_dark" />
+ <item android:color="@*android:color/secondary_text_material_light" />
+</selector>
diff --git a/packages/DocumentsUI/res/color/item_root_primary_text.xml b/packages/DocumentsUI/res/color/item_root_primary_text.xml
new file mode 100644
index 0000000..4ac6916
--- /dev/null
+++ b/packages/DocumentsUI/res/color/item_root_primary_text.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_focused="true" android:state_activated="true" android:color="@*android:color/primary_text_default_material_dark" />
+ <item android:state_focused="false" android:state_activated="true" android:color="@*android:color/primary_text_default_material_dark" />
+ <item android:state_enabled="false" android:alpha="@*android:dimen/disabled_alpha_material" android:color="@*android:color/primary_text_default_material_light" />
+ <item android:color="@*android:color/primary_text_default_material_light" />
+</selector>
diff --git a/packages/DocumentsUI/res/drawable-hdpi/ic_grid_selection_check.png b/packages/DocumentsUI/res/drawable-hdpi/ic_grid_selection_check.png
new file mode 100644
index 0000000..f3007c2
--- /dev/null
+++ b/packages/DocumentsUI/res/drawable-hdpi/ic_grid_selection_check.png
Binary files differ
diff --git a/packages/DocumentsUI/res/drawable-mdpi/ic_grid_selection_check.png b/packages/DocumentsUI/res/drawable-mdpi/ic_grid_selection_check.png
new file mode 100644
index 0000000..16f2ab9
--- /dev/null
+++ b/packages/DocumentsUI/res/drawable-mdpi/ic_grid_selection_check.png
Binary files differ
diff --git a/packages/DocumentsUI/res/drawable-xhdpi/ic_grid_selection_check.png b/packages/DocumentsUI/res/drawable-xhdpi/ic_grid_selection_check.png
new file mode 100644
index 0000000..0885320
--- /dev/null
+++ b/packages/DocumentsUI/res/drawable-xhdpi/ic_grid_selection_check.png
Binary files differ
diff --git a/packages/DocumentsUI/res/drawable-xxhdpi/ic_grid_selection_check.png b/packages/DocumentsUI/res/drawable-xxhdpi/ic_grid_selection_check.png
new file mode 100644
index 0000000..083bbcc
--- /dev/null
+++ b/packages/DocumentsUI/res/drawable-xxhdpi/ic_grid_selection_check.png
Binary files differ
diff --git a/packages/DocumentsUI/res/drawable-xxxhdpi/ic_grid_selection_check.png b/packages/DocumentsUI/res/drawable-xxxhdpi/ic_grid_selection_check.png
new file mode 100644
index 0000000..74b1ca5
--- /dev/null
+++ b/packages/DocumentsUI/res/drawable-xxxhdpi/ic_grid_selection_check.png
Binary files differ
diff --git a/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml b/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml
new file mode 100644
index 0000000..3fbd25e
--- /dev/null
+++ b/packages/DocumentsUI/res/drawable/item_doc_grid_overlay.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_focused="true" android:state_activated="true" android:drawable="@color/item_doc_grid_overlay_activated" />
+ <item android:state_focused="false" android:state_activated="true" android:drawable="@color/item_doc_grid_overlay_activated" />
+ <item android:state_enabled="false" android:drawable="@color/item_doc_grid_overlay_disabled" />
+ <item android:drawable="@android:color/transparent" />
+</selector>
diff --git a/packages/DocumentsUI/res/drawable/grid_protect_background.xml b/packages/DocumentsUI/res/drawable/item_doc_grid_overlay_icon.xml
index 2e7aadd..d40de1e 100644
--- a/packages/DocumentsUI/res/drawable/grid_protect_background.xml
+++ b/packages/DocumentsUI/res/drawable/item_doc_grid_overlay_icon.xml
@@ -14,11 +14,8 @@
limitations under the License.
-->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_enabled="false">
- <color android:color="#88000000" />
- </item>
- <item>
- <color android:color="#88252525" />
- </item>
+<selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true">
+ <item android:state_focused="true" android:state_activated="true" android:drawable="@drawable/ic_grid_selection_check" />
+ <item android:state_focused="false" android:state_activated="true" android:drawable="@drawable/ic_grid_selection_check" />
+ <item android:drawable="@android:color/transparent" />
</selector>
diff --git a/packages/DocumentsUI/res/drawable/item_activated_overlay.xml b/packages/DocumentsUI/res/drawable/item_doc_list_background.xml
index 83e4d7e..b879542 100644
--- a/packages/DocumentsUI/res/drawable/item_activated_overlay.xml
+++ b/packages/DocumentsUI/res/drawable/item_doc_list_background.xml
@@ -15,11 +15,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_focused="true" android:state_activated="true">
- <color android:color="@color/accent_color_overlay" />
- </item>
- <item android:state_focused="false" android:state_activated="true">
- <color android:color="@color/accent_color_overlay" />
- </item>
+ <item android:state_focused="true" android:state_activated="true" android:drawable="@color/item_doc_list_background_activated" />
+ <item android:state_focused="false" android:state_activated="true" android:drawable="@color/item_doc_list_background_activated" />
<item android:drawable="@android:color/transparent" />
</selector>
diff --git a/packages/DocumentsUI/res/drawable/item_activated.xml b/packages/DocumentsUI/res/drawable/item_root_background.xml
index 1b3f44a..1b3f44a 100644
--- a/packages/DocumentsUI/res/drawable/item_activated.xml
+++ b/packages/DocumentsUI/res/drawable/item_root_background.xml
diff --git a/packages/DocumentsUI/res/layout-sw720dp-land/item_doc_list.xml b/packages/DocumentsUI/res/layout-sw720dp-land/item_doc_list.xml
index 95af7e9..d124320 100644
--- a/packages/DocumentsUI/res/layout-sw720dp-land/item_doc_list.xml
+++ b/packages/DocumentsUI/res/layout-sw720dp-land/item_doc_list.xml
@@ -17,7 +17,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/item_activated">
+ android:background="@drawable/item_doc_list_background">
<LinearLayout
android:layout_width="match_parent"
diff --git a/packages/DocumentsUI/res/layout/item_doc_grid.xml b/packages/DocumentsUI/res/layout/item_doc_grid.xml
index bdb3184..d62d050 100644
--- a/packages/DocumentsUI/res/layout/item_doc_grid.xml
+++ b/packages/DocumentsUI/res/layout/item_doc_grid.xml
@@ -17,9 +17,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="@dimen/grid_item_height"
- android:orientation="vertical"
- android:background="@color/grid_item_background"
- android:foreground="@drawable/item_activated_overlay">
+ android:background="@color/item_doc_grid_background">
<ImageView
android:id="@+id/icon_thumb"
@@ -44,7 +42,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/grid_protect_background"
+ android:background="@color/item_doc_grid_protect_background"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="12dp"
@@ -68,7 +66,7 @@
android:ellipsize="middle"
android:textAlignment="viewStart"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
- android:textColor="?android:attr/textColorPrimaryInverse" />
+ android:textColor="@*android:color/primary_text_default_material_dark" />
<ImageView
android:id="@android:id/icon1"
@@ -97,7 +95,7 @@
android:ellipsize="end"
android:textAlignment="viewStart"
android:textAppearance="@android:style/TextAppearance.Material.Caption"
- android:textColor="?android:attr/textColorPrimaryInverse" />
+ android:textColor="@*android:color/primary_text_default_material_dark" />
<TextView
android:id="@+id/size"
@@ -109,7 +107,7 @@
android:ellipsize="end"
android:textAlignment="viewStart"
android:textAppearance="@android:style/TextAppearance.Material.Caption"
- android:textColor="?android:attr/textColorPrimaryInverse" />
+ android:textColor="@*android:color/primary_text_default_material_dark" />
<ImageView
android:id="@android:id/icon2"
@@ -126,4 +124,19 @@
</LinearLayout>
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@drawable/item_doc_grid_overlay"
+ android:contentDescription="@null"
+ android:duplicateParentState="true" />
+
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:src="@drawable/item_doc_grid_overlay_icon"
+ android:scaleType="center"
+ android:contentDescription="@null"
+ android:duplicateParentState="true" />
+
</FrameLayout>
diff --git a/packages/DocumentsUI/res/layout/item_doc_list.xml b/packages/DocumentsUI/res/layout/item_doc_list.xml
index c5f1842..c576669 100644
--- a/packages/DocumentsUI/res/layout/item_doc_list.xml
+++ b/packages/DocumentsUI/res/layout/item_doc_list.xml
@@ -17,7 +17,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/item_activated">
+ android:background="@drawable/item_doc_list_background">
<LinearLayout
android:layout_width="match_parent"
diff --git a/packages/DocumentsUI/res/layout/item_root.xml b/packages/DocumentsUI/res/layout/item_root.xml
index 266b9b0..bd83923 100644
--- a/packages/DocumentsUI/res/layout/item_root.xml
+++ b/packages/DocumentsUI/res/layout/item_root.xml
@@ -23,19 +23,21 @@
android:gravity="center_vertical"
android:orientation="horizontal"
android:baselineAligned="false"
- android:background="@drawable/item_activated">
+ android:background="@drawable/item_root_background">
<FrameLayout
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
- android:layout_marginEnd="16dp">
+ android:layout_marginEnd="16dp"
+ android:duplicateParentState="true">
<ImageView
android:id="@android:id/icon"
android:layout_width="@dimen/root_icon_size"
android:layout_height="match_parent"
android:scaleType="centerInside"
- android:contentDescription="@null" />
+ android:contentDescription="@null"
+ android:duplicateParentState="true" />
</FrameLayout>
@@ -54,7 +56,7 @@
android:ellipsize="end"
android:textAlignment="viewStart"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
- android:textColor="?android:attr/textColorPrimary" />
+ android:textColor="@color/item_root_primary_text" />
<TextView
android:id="@android:id/summary"
@@ -64,7 +66,7 @@
android:ellipsize="end"
android:textAlignment="viewStart"
android:textAppearance="@android:style/TextAppearance.Material.Body1"
- android:textColor="?android:attr/textColorSecondary" />
+ android:textColor="@color/item_root_primary_text" />
</LinearLayout>
diff --git a/packages/DocumentsUI/res/values/colors.xml b/packages/DocumentsUI/res/values/colors.xml
index 7442b09..2ceb968 100644
--- a/packages/DocumentsUI/res/values/colors.xml
+++ b/packages/DocumentsUI/res/values/colors.xml
@@ -18,8 +18,16 @@
<color name="material_grey_50">#fffafafa</color>
<color name="material_grey_300">#ffeeeeee</color>
- <!-- Half-alpha of material_teal_500 -->
- <color name="accent_color_overlay">#8800bcd4</color>
+ <color name="item_doc_grid_background">@color/material_grey_300</color>
+
+ <color name="item_doc_grid_protect_background">#88000000</color>
+
+ <color name="item_doc_grid_overlay_activated">#88000000</color>
+ <color name="item_doc_grid_overlay_disabled">#88ffffff</color>
+
+ <color name="item_doc_list_overlay_disabled">#88ffffff</color>
+
+ <!-- 10% alpha of material_deep_teal_500 -->
+ <color name="item_doc_list_background_activated">#1a009688</color>
- <color name="grid_item_background">@color/material_grey_300</color>
</resources>
diff --git a/packages/DocumentsUI/res/values/styles.xml b/packages/DocumentsUI/res/values/styles.xml
index 5cfe046..7693da3 100644
--- a/packages/DocumentsUI/res/values/styles.xml
+++ b/packages/DocumentsUI/res/values/styles.xml
@@ -28,6 +28,7 @@
<item name="android:colorAccent">@*android:color/material_deep_teal_500</item>
<item name="android:windowActionBar">false</item>
+ <item name="android:windowActionModeOverlay">true</item>
<item name="android:windowNoTitle">true</item>
<item name="*android:windowFixedWidthMajor">@null</item>
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);