diff options
-rw-r--r-- | packages/DocumentsUI/res/layout/fragment_directory.xml | 4 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_doc_grid.xml | 10 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_doc_list.xml | 10 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_loading_grid.xml | 34 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_loading_list.xml (renamed from packages/DocumentsUI/res/layout/item_loading.xml) | 0 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_message_grid.xml | 62 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_message_list.xml | 8 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_root.xml | 8 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_root_header.xml | 1 | ||||
-rw-r--r-- | packages/DocumentsUI/res/layout/item_title.xml | 4 | ||||
-rw-r--r-- | packages/DocumentsUI/res/menu/mode_directory.xml | 4 | ||||
-rw-r--r-- | packages/DocumentsUI/res/values/strings.xml | 37 | ||||
-rw-r--r-- | packages/DocumentsUI/res/values/styles.xml | 29 | ||||
-rw-r--r-- | packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java | 17 |
14 files changed, 162 insertions, 66 deletions
diff --git a/packages/DocumentsUI/res/layout/fragment_directory.xml b/packages/DocumentsUI/res/layout/fragment_directory.xml index 881349b..f0ab0d1 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" /> <ListView android:id="@+id/list" diff --git a/packages/DocumentsUI/res/layout/item_doc_grid.xml b/packages/DocumentsUI/res/layout/item_doc_grid.xml index 8b37d21..eea90b5 100644 --- a/packages/DocumentsUI/res/layout/item_doc_grid.xml +++ b/packages/DocumentsUI/res/layout/item_doc_grid.xml @@ -77,8 +77,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" /> <ImageView android:id="@android:id/icon1" @@ -107,7 +107,7 @@ android:singleLine="true" android:ellipsize="marquee" android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" /> + style="@style/TextAppearance.Small" /> <TextView android:id="@+id/size" @@ -119,7 +119,7 @@ android:singleLine="true" android:ellipsize="marquee" android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" /> + style="@style/TextAppearance.Small" /> <TextView android:id="@android:id/summary" @@ -131,7 +131,7 @@ android:singleLine="true" android:ellipsize="marquee" android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" /> + style="@style/TextAppearance.Small" /> </LinearLayout> diff --git a/packages/DocumentsUI/res/layout/item_doc_list.xml b/packages/DocumentsUI/res/layout/item_doc_list.xml index 9958e44..84fda9d 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" /> <ImageView android:id="@android:id/icon1" @@ -96,7 +96,7 @@ android:singleLine="true" android:ellipsize="marquee" android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" /> + style="@style/TextAppearance.Small" /> <TextView android:id="@+id/size" @@ -108,7 +108,7 @@ android:singleLine="true" android:ellipsize="marquee" android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" /> + style="@style/TextAppearance.Small" /> <TextView android:id="@android:id/summary" @@ -120,7 +120,7 @@ android:singleLine="true" android:ellipsize="marquee" android:textAlignment="viewStart" - android:textAppearance="?android:attr/textAppearanceSmall" /> + style="@style/TextAppearance.Small" /> </LinearLayout> 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 0000000..21be137 --- /dev/null +++ b/packages/DocumentsUI/res/layout/item_loading_grid.xml @@ -0,0 +1,34 @@ +<?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. +--> + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="@dimen/grid_height" + android:minHeight="?android:attr/listPreferredItemHeight" + android:paddingStart="?android:attr/listPreferredItemPaddingStart" + android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" + android:paddingTop="8dip" + android:paddingBottom="8dip" + android:orientation="horizontal"> + + <ProgressBar + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:indeterminate="true" + style="?android:attr/progressBarStyle" /> + +</FrameLayout> diff --git a/packages/DocumentsUI/res/layout/item_loading.xml b/packages/DocumentsUI/res/layout/item_loading_list.xml index 7da71e3..7da71e3 100644 --- a/packages/DocumentsUI/res/layout/item_loading.xml +++ b/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 941340e..b3bdd28 100644 --- a/packages/DocumentsUI/res/layout/item_message_grid.xml +++ b/packages/DocumentsUI/res/layout/item_message_grid.xml @@ -16,44 +16,36 @@ <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="180dip" + android:layout_height="@dimen/grid_height" + android:paddingTop="?android:attr/listPreferredItemPaddingStart" + android:paddingStart="?android:attr/listPreferredItemPaddingStart" + android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" android:paddingBottom="?android:attr/listPreferredItemPaddingEnd" - android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"> + android:foreground="@drawable/item_background"> - <FrameLayout + <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/chip" - android:foreground="@drawable/item_background" - android:duplicateParentState="true"> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:paddingBottom="6dp" - android:orientation="vertical" - android:gravity="center"> - - <ImageView - android:id="@android:id/icon" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@null" /> - - <TextView - android:id="@android:id/title" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:singleLine="true" - android:ellipsize="marquee" - android:paddingTop="6dp" - android:paddingStart="?android:attr/listPreferredItemPaddingStart" - android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textAlignment="viewStart" /> - - </LinearLayout> - - </FrameLayout> + android:orientation="vertical" + android:gravity="center"> + + <ImageView + android:id="@android:id/icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@null" /> + + <TextView + android:id="@android:id/title" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="center" + android:maxLines="4" + android:ellipsize="end" + android:paddingTop="6dp" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textAlignment="viewStart" /> + + </LinearLayout> </FrameLayout> diff --git a/packages/DocumentsUI/res/layout/item_message_list.xml b/packages/DocumentsUI/res/layout/item_message_list.xml index dda3c80..ffda98c 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" /> </LinearLayout> diff --git a/packages/DocumentsUI/res/layout/item_root.xml b/packages/DocumentsUI/res/layout/item_root.xml index ce97b57..98d78da 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" /> <TextView android:id="@android:id/summary" @@ -52,8 +52,8 @@ android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="marquee" - android:textAppearance="?android:attr/textAppearanceSmall" - android:textAlignment="viewStart" /> + android:textAlignment="viewStart" + style="@style/TextAppearance.Small" /> </LinearLayout> diff --git a/packages/DocumentsUI/res/layout/item_root_header.xml b/packages/DocumentsUI/res/layout/item_root_header.xml index 7b6cd76..6b9857d 100644 --- a/packages/DocumentsUI/res/layout/item_root_header.xml +++ b/packages/DocumentsUI/res/layout/item_root_header.xml @@ -21,6 +21,7 @@ <TextView android:id="@android:id/title" + android:textColor="?android:attr/textColorTertiary" style="?android:attr/listSeparatorTextViewStyle" /> </FrameLayout> diff --git a/packages/DocumentsUI/res/layout/item_title.xml b/packages/DocumentsUI/res/layout/item_title.xml index 9594e4e..7eb100a 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" /> </LinearLayout> diff --git a/packages/DocumentsUI/res/menu/mode_directory.xml b/packages/DocumentsUI/res/menu/mode_directory.xml index 624e024..0a3645f 100644 --- a/packages/DocumentsUI/res/menu/mode_directory.xml +++ b/packages/DocumentsUI/res/menu/mode_directory.xml @@ -21,12 +21,12 @@ android:showAsAction="always" /> <item android:id="@+id/menu_share" - android:icon="@android:drawable/ic_menu_share" + android:icon="@drawable/ic_menu_share" android:title="@string/menu_share" android:showAsAction="always" /> <item android:id="@+id/menu_delete" - android:icon="@android:drawable/ic_menu_delete" + android:icon="@drawable/ic_menu_delete" android:title="@string/menu_delete" android:showAsAction="always" /> </menu> diff --git a/packages/DocumentsUI/res/values/strings.xml b/packages/DocumentsUI/res/values/strings.xml index f4a822d..682ae4a 100644 --- a/packages/DocumentsUI/res/values/strings.xml +++ b/packages/DocumentsUI/res/values/strings.xml @@ -15,54 +15,83 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Title of the documents application [CHAR LIMIT=32] --> <string name="app_label">Documents</string> + <!-- Action bar title prompting user to choose a location to open a document from [CHAR LIMIT=32] --> <string name="title_open">Open from</string> + <!-- Action bar title prompting user to choose a location to save a document to [CHAR LIMIT=32] --> <string name="title_save">Save to</string> + <!-- Menu item that creates a new directory/folder at the current location [CHAR LIMIT=24] --> <string name="menu_create_dir">Create folder</string> + <!-- Menu item that switches view to show documents as a large-format grid of thumbnails [CHAR LIMIT=24] --> <string name="menu_grid">Grid view</string> + <!-- Menu item that switches view to show documents as a list [CHAR LIMIT=24] --> <string name="menu_list">List view</string> + <!-- Menu item that switches the criteria with which documents are sorted [CHAR LIMIT=24] --> <string name="menu_sort">Sort by</string> + <!-- Menu item that enters a mode to search for documents [CHAR LIMIT=24] --> <string name="menu_search">Search</string> + <!-- Menu item that enters activity to change settings [CHAR LIMIT=24] --> <string name="menu_settings">Settings</string> + <!-- Menu item title that opens the selected documents [CHAR LIMIT=24] --> <string name="menu_open">Open</string> + <!-- Menu item title that saves the current document [CHAR LIMIT=24] --> <string name="menu_save">Save</string> + <!-- Menu item title that shares the selected documents [CHAR LIMIT=24] --> <string name="menu_share">Share</string> + <!-- Menu item title that deletes the selected documents [CHAR LIMIT=24] --> <string name="menu_delete">Delete</string> + <!-- Action mode title summarizing the number of documents selected [CHAR LIMIT=32] --> <string name="mode_selected_count"><xliff:g id="count" example="3">%1$d</xliff:g> selected</string> + <!-- Mode that sorts documents by their display name alphabetically [CHAR LIMIT=24] --> <string name="sort_name">By name</string> + <!-- Mode that sorts documents by their last modified time in descending order; most recent first [CHAR LIMIT=24] --> <string name="sort_date">By date modified</string> + <!-- Mode that sorts documents by their file size in descending order; largest first [CHAR LIMIT=24] --> <string name="sort_size">By size</string> + <!-- Accessibility title to open the drawer showing all roots where documents can be stored [CHAR LIMIT=32] --> <string name="drawer_open">Show roots</string> + <!-- Accessibility title to close the drawer showing all roots where documents can be stored [CHAR LIMIT=32] --> <string name="drawer_close">Hide roots</string> + <!-- Toast shown when saving a document failed with an error [CHAR LIMIT=48] --> <string name="save_error">Failed to save document</string> + <!-- Title of storage root location that contains recently modified or used documents [CHAR LIMIT=24] --> <string name="root_recent">Recent</string> + <!-- Subtitle of storage root indicating the total free space available, in bytes [CHAR LIMIT=24] --> <string name="root_available_bytes"><xliff:g id="size" example="3GB">%1$s</xliff:g> free</string> - <string name="root_type_service">Services</string> + <!-- Header title for list of storage roots that contains cloud services [CHAR LIMIT=24] --> + <string name="root_type_service">Storage services</string> + <!-- Header title for list of storage roots that contains shortcuts to documents that may be available elsewhere [CHAR LIMIT=24] --> <string name="root_type_shortcut">Shortcuts</string> + <!-- Header title for list of storage roots that contains physical devices [CHAR LIMIT=24] --> <string name="root_type_device">Devices</string> + <!-- Header title for list of additional apps that can provide documents [CHAR LIMIT=24] --> <string name="root_type_apps">More apps</string> + <!-- Title for setting that will show all advanced storage devices [CHAR LIMIT=32] --> <string name="pref_advanced_devices">Display advanced devices</string> + <!-- Title for setting that will show file sizes for all documents [CHAR LIMIT=32] --> <string name="pref_file_size">Display file size</string> <string name="pref_device_size">Display device size</string> + <!-- Text shown when a directory of documents is empty [CHAR LIMIT=24] --> <string name="empty">No items</string> + <!-- Toast shown when no app can be found to open the selected document [CHAR LIMIT=48] --> <string name="toast_no_application">Can\'t open file</string> + <!-- Toast shown when some of the selected documents failed to be deleted [CHAR LIMIT=48] --> <string name="toast_failed_delete">Unable to delete some documents</string> - <string name="more">More</string> - <string name="loading">Loading\u2026</string> - + <!-- Title of dialog when prompting user to select an app to share documents with [CHAR LIMIT=32] --> <string name="share_via">Share via</string> </resources> diff --git a/packages/DocumentsUI/res/values/styles.xml b/packages/DocumentsUI/res/values/styles.xml new file mode 100644 index 0000000..59fbd6f --- /dev/null +++ b/packages/DocumentsUI/res/values/styles.xml @@ -0,0 +1,29 @@ +<?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. +--> + +<resources> + <style name="TextAppearance" /> + + <style name="TextAppearance.Medium"> + <item name="android:textAppearance">?android:attr/textAppearanceMedium</item> + <item name="android:textColor">?android:attr/textColorSecondary</item> + </style> + + <style name="TextAppearance.Small"> + <item name="android:textAppearance">?android:attr/textAppearanceSmall</item> + <item name="android:textColor">?android:attr/textColorTertiary</item> + </style> +</resources> diff --git a/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java b/packages/DocumentsUI/src/com/android/documentsui/DirectoryFragment.java index 13a84f4..ba5a511 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; } } |