From ed903213e6d3d75d497498c9cf95aa8e74277a9e Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Tue, 10 Sep 2013 17:56:39 -0700 Subject: [PATCH] More tweaks to match UX spec. Fixed text colors to match spec. Behold The Greyening! Centered loader spinner in grid mode. Show multiple lines in status messages. Add string descriptions. Fix bug where toggling size setting didn't kick a UI rebind. Bug: 10510022 Change-Id: Icb41ebeb4de0fed8c04fc6cf5213af1587b72641 --- .../res/layout/fragment_directory.xml | 4 +- .../DocumentsUI/res/layout/item_doc_grid.xml | 10 ++-- .../DocumentsUI/res/layout/item_doc_list.xml | 10 ++-- .../res/layout/item_loading_grid.xml | 34 +++++++++++ ...item_loading.xml => item_loading_list.xml} | 0 .../res/layout/item_message_grid.xml | 56 ++++++++----------- .../res/layout/item_message_list.xml | 8 +-- packages/DocumentsUI/res/layout/item_root.xml | 8 +-- .../res/layout/item_root_header.xml | 1 + .../DocumentsUI/res/layout/item_title.xml | 4 +- .../DocumentsUI/res/menu/mode_directory.xml | 4 +- packages/DocumentsUI/res/values/strings.xml | 37 ++++++++++-- packages/DocumentsUI/res/values/styles.xml | 29 ++++++++++ .../documentsui/DirectoryFragment.java | 17 +++++- 14 files changed, 159 insertions(+), 63 deletions(-) create mode 100644 packages/DocumentsUI/res/layout/item_loading_grid.xml rename packages/DocumentsUI/res/layout/{item_loading.xml => item_loading_list.xml} (100%) create mode 100644 packages/DocumentsUI/res/values/styles.xml diff --git a/packages/DocumentsUI/res/layout/fragment_directory.xml b/packages/DocumentsUI/res/layout/fragment_directory.xml index 881349bf9eeaf..f0ab0d10c8f7a 100644 --- a/packages/DocumentsUI/res/layout/fragment_directory.xml +++ b/packages/DocumentsUI/res/layout/fragment_directory.xml @@ -24,8 +24,8 @@ android:layout_height="match_parent" android:gravity="center" android:text="@string/empty" - android:textAppearance="?android:attr/textAppearanceMedium" - android:visibility="gone" /> + android:visibility="gone" + style="@style/TextAppearance.Medium" /> + android:textAlignment="viewStart" + style="@style/TextAppearance.Medium" /> + style="@style/TextAppearance.Small" /> + style="@style/TextAppearance.Small" /> + style="@style/TextAppearance.Small" /> diff --git a/packages/DocumentsUI/res/layout/item_doc_list.xml b/packages/DocumentsUI/res/layout/item_doc_list.xml index 9958e44b90aeb..84fda9d36ad32 100644 --- a/packages/DocumentsUI/res/layout/item_doc_list.xml +++ b/packages/DocumentsUI/res/layout/item_doc_list.xml @@ -68,8 +68,8 @@ android:layout_weight="1" android:singleLine="true" android:ellipsize="marquee" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" /> + android:textAlignment="viewStart" + style="@style/TextAppearance.Medium" /> + style="@style/TextAppearance.Small" /> + style="@style/TextAppearance.Small" /> + style="@style/TextAppearance.Small" /> diff --git a/packages/DocumentsUI/res/layout/item_loading_grid.xml b/packages/DocumentsUI/res/layout/item_loading_grid.xml new file mode 100644 index 0000000000000..21be13744753d --- /dev/null +++ b/packages/DocumentsUI/res/layout/item_loading_grid.xml @@ -0,0 +1,34 @@ + + + + + + + + diff --git a/packages/DocumentsUI/res/layout/item_loading.xml b/packages/DocumentsUI/res/layout/item_loading_list.xml similarity index 100% rename from packages/DocumentsUI/res/layout/item_loading.xml rename to packages/DocumentsUI/res/layout/item_loading_list.xml diff --git a/packages/DocumentsUI/res/layout/item_message_grid.xml b/packages/DocumentsUI/res/layout/item_message_grid.xml index 941340e9d720e..b3bdd28c95980 100644 --- a/packages/DocumentsUI/res/layout/item_message_grid.xml +++ b/packages/DocumentsUI/res/layout/item_message_grid.xml @@ -16,44 +16,36 @@ + android:foreground="@drawable/item_background"> - + android:orientation="vertical" + android:gravity="center"> - + - + - - - - - + diff --git a/packages/DocumentsUI/res/layout/item_message_list.xml b/packages/DocumentsUI/res/layout/item_message_list.xml index dda3c80f2baa3..ffda98c1205fc 100644 --- a/packages/DocumentsUI/res/layout/item_message_list.xml +++ b/packages/DocumentsUI/res/layout/item_message_list.xml @@ -39,9 +39,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:singleLine="true" - android:ellipsize="marquee" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" /> + android:maxLines="2" + android:ellipsize="end" + android:textAlignment="viewStart" + android:textAppearance="?android:attr/textAppearanceSmall" /> diff --git a/packages/DocumentsUI/res/layout/item_root.xml b/packages/DocumentsUI/res/layout/item_root.xml index ce97b5710427d..98d78dac545f1 100644 --- a/packages/DocumentsUI/res/layout/item_root.xml +++ b/packages/DocumentsUI/res/layout/item_root.xml @@ -43,8 +43,8 @@ android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" /> + android:textAlignment="viewStart" + style="@style/TextAppearance.Medium" /> + android:textAlignment="viewStart" + style="@style/TextAppearance.Small" /> diff --git a/packages/DocumentsUI/res/layout/item_root_header.xml b/packages/DocumentsUI/res/layout/item_root_header.xml index 7b6cd7654b1c2..6b9857d77fe01 100644 --- a/packages/DocumentsUI/res/layout/item_root_header.xml +++ b/packages/DocumentsUI/res/layout/item_root_header.xml @@ -21,6 +21,7 @@ diff --git a/packages/DocumentsUI/res/layout/item_title.xml b/packages/DocumentsUI/res/layout/item_title.xml index 9594e4ea32aab..7eb100a245b0c 100644 --- a/packages/DocumentsUI/res/layout/item_title.xml +++ b/packages/DocumentsUI/res/layout/item_title.xml @@ -38,7 +38,7 @@ android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" - android:textAppearance="?android:attr/textAppearanceMedium" - android:textAlignment="viewStart" /> + android:textAlignment="viewStart" + style="@style/TextAppearance.Medium" /> diff --git a/packages/DocumentsUI/res/menu/mode_directory.xml b/packages/DocumentsUI/res/menu/mode_directory.xml index 624e0247ed82c..0a3645f5c3bd9 100644 --- a/packages/DocumentsUI/res/menu/mode_directory.xml +++ b/packages/DocumentsUI/res/menu/mode_directory.xml @@ -21,12 +21,12 @@ android:showAsAction="always" /> diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml index f4a822d3c4fc2..682ae4ab7ef2e 100644 --- a/packages/DocumentsUI/res/values/strings.xml +++ b/packages/DocumentsUI/res/values/strings.xml @@ -15,54 +15,83 @@ --> + Documents + Open from + Save to + Create folder + Grid view + List view + Sort by + Search + Settings + Open + Save + Share + Delete + %1$d selected + By name + By date modified + By size + Show roots + Hide roots + Failed to save document + Recent + %1$s free - Services + + Storage services + Shortcuts + Devices + More apps + Display advanced devices + Display file size Display device size + No items + Can\'t open file + Unable to delete some documents - More - Loading\u2026 - + Share via diff --git a/packages/DocumentsUI/res/values/styles.xml b/packages/DocumentsUI/res/values/styles.xml new file mode 100644 index 0000000000000..59fbd6f3284b5 --- /dev/null +++ b/packages/DocumentsUI/res/values/styles.xml @@ -0,0 +1,29 @@ + + + + + + + + diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java index 13a84f493c21d..ba5a511661abf 100644 --- a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java +++ b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java @@ -100,6 +100,7 @@ public class DirectoryFragment extends Fragment { private int mLastMode = MODE_UNKNOWN; private int mLastSortOrder = SORT_ORDER_UNKNOWN; + private boolean mLastShowSize = false; private Point mThumbSize; @@ -297,8 +298,9 @@ public class DirectoryFragment extends Fragment { mFilter = new MimePredicate(state.acceptMimes); - if (mLastMode == state.derivedMode) return; + if (mLastMode == state.derivedMode && mLastShowSize == state.showSize) return; mLastMode = state.derivedMode; + mLastShowSize = state.showSize; mListView.setVisibility(state.derivedMode == MODE_LIST ? View.VISIBLE : View.GONE); mGridView.setVisibility(state.derivedMode == MODE_GRID ? View.VISIBLE : View.GONE); @@ -525,7 +527,7 @@ public class DirectoryFragment extends Fragment { } } - private static class LoadingFooter extends Footer { + private class LoadingFooter extends Footer { public LoadingFooter() { super(1); } @@ -533,10 +535,19 @@ public class DirectoryFragment extends Fragment { @Override public View getView(View convertView, ViewGroup parent) { final Context context = parent.getContext(); + final State state = getDisplayState(DirectoryFragment.this); + if (convertView == null) { final LayoutInflater inflater = LayoutInflater.from(context); - convertView = inflater.inflate(R.layout.item_loading, parent, false); + if (state.derivedMode == MODE_LIST) { + convertView = inflater.inflate(R.layout.item_loading_list, parent, false); + } else if (state.derivedMode == MODE_GRID) { + convertView = inflater.inflate(R.layout.item_loading_grid, parent, false); + } else { + throw new IllegalStateException(); + } } + return convertView; } }