Merge "More tweaks to match UX spec." into klp-dev
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
34
packages/DocumentsUI/res/layout/item_loading_grid.xml
Normal file
34
packages/DocumentsUI/res/layout/item_loading_grid.xml
Normal file
@@ -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>
|
||||
@@ -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">
|
||||
android:orientation="vertical"
|
||||
android:gravity="center">
|
||||
|
||||
<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" />
|
||||
|
||||
<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" />
|
||||
|
||||
<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>
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
<TextView
|
||||
android:id="@android:id/title"
|
||||
android:textColor="?android:attr/textColorTertiary"
|
||||
style="?android:attr/listSeparatorTextViewStyle" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
29
packages/DocumentsUI/res/values/styles.xml
Normal file
29
packages/DocumentsUI/res/values/styles.xml
Normal file
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user