OSDN Git Service

Ensure directory names are aligned correctly...
authorSteve McKay <smckay@google.com>
Tue, 1 Mar 2016 19:26:00 +0000 (11:26 -0800)
committerSteve McKay <smckay@google.com>
Tue, 1 Mar 2016 19:49:21 +0000 (11:49 -0800)
In list view...and don't show dir dates, even when present.
In fact, no details on folders at all when in list view.
Also improve layout of files without details (if they exist).

Bug: 27406730
Change-Id: Ida4b5f99666c4a145ca98a3c15c480e59a76b4a6

packages/DocumentsUI/res/layout/item_doc_list.xml
packages/DocumentsUI/src/com/android/documentsui/dirlist/ListDocumentHolder.java

index b169ec8..29f65e0 100644 (file)
@@ -73,7 +73,8 @@
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:layout_weight="1"
-            android:orientation="vertical" >
+            android:orientation="vertical"
+            android:layout_gravity="center_vertical" >
 
             <TextView
                 android:id="@android:id/title"
index b940ffb..11f9aa7 100644 (file)
@@ -29,6 +29,7 @@ import android.text.format.Formatter;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
+import android.widget.LinearLayout;
 import android.widget.TextView;
 
 import com.android.documentsui.R;
@@ -38,9 +39,10 @@ import com.android.documentsui.State;
 
 final class ListDocumentHolder extends DocumentHolder {
     final TextView mTitle;
-    final TextView mSummary;
+    final LinearLayout mDetails;  // Container of date/size/summary
     final TextView mDate;
     final TextView mSize;
+    final TextView mSummary;
     final ImageView mIconMime;
     final ImageView mIconThumb;
     final ImageView mIconCheck;
@@ -50,9 +52,10 @@ final class ListDocumentHolder extends DocumentHolder {
         super(context, parent, R.layout.item_doc_list);
 
         mTitle = (TextView) itemView.findViewById(android.R.id.title);
-        mSummary = (TextView) itemView.findViewById(android.R.id.summary);
+        mDetails = (LinearLayout) itemView.findViewById(R.id.line2);
         mDate = (TextView) itemView.findViewById(R.id.date);
         mSize = (TextView) itemView.findViewById(R.id.size);
+        mSummary = (TextView) itemView.findViewById(android.R.id.summary);
         mIconMime = (ImageView) itemView.findViewById(R.id.icon_mime);
         mIconThumb = (ImageView) itemView.findViewById(R.id.icon_thumb);
         mIconCheck = (ImageView) itemView.findViewById(R.id.icon_check);
@@ -91,6 +94,7 @@ final class ListDocumentHolder extends DocumentHolder {
         final int docFlags = getCursorInt(cursor, Document.COLUMN_FLAGS);
         final String docSummary = getCursorString(cursor, Document.COLUMN_SUMMARY);
         final long docSize = getCursorLong(cursor, Document.COLUMN_SIZE);
+        final boolean isDirectory = Document.MIME_TYPE_DIR.equals(docMimeType);
 
         mIconHelper.stopLoading(mIconThumb);
 
@@ -105,24 +109,36 @@ final class ListDocumentHolder extends DocumentHolder {
         mTitle.setText(docDisplayName, TextView.BufferType.SPANNABLE);
         mTitle.setVisibility(View.VISIBLE);
 
-        if (docSummary != null) {
-            mSummary.setText(docSummary);
-            mSummary.setVisibility(View.VISIBLE);
-        } else {
-            mSummary.setVisibility(View.INVISIBLE);
-        }
-
-        if (docLastModified == -1) {
-            mDate.setText(null);
-        } else {
-            mDate.setText(Shared.formatTime(mContext, docLastModified));
-        }
 
-        if (!state.showSize || Document.MIME_TYPE_DIR.equals(docMimeType) || docSize == -1) {
-            mSize.setVisibility(View.GONE);
+        // Note, we don't show any details for any directory...ever.
+        if (isDirectory) {
+            mDetails.setVisibility(View.GONE);
         } else {
-            mSize.setVisibility(View.VISIBLE);
-            mSize.setText(Formatter.formatFileSize(mContext, docSize));
+            boolean hasDetails = false;
+            if (docSummary != null) {
+                hasDetails = true;
+                mSummary.setText(docSummary);
+                mSummary.setVisibility(View.VISIBLE);
+            } else {
+                mSummary.setVisibility(View.INVISIBLE);
+            }
+
+            if (docLastModified == -1) {
+                hasDetails = true;
+                mDate.setText(null);
+            } else {
+                mDate.setText(Shared.formatTime(mContext, docLastModified));
+            }
+
+            if (!state.showSize || docSize == -1) {
+                hasDetails = true;
+                mSize.setVisibility(View.GONE);
+                mDetails.setVisibility(View.GONE);
+            } else {
+                mSize.setVisibility(View.VISIBLE);
+                mSize.setText(Formatter.formatFileSize(mContext, docSize));
+            }
+            mDetails.setVisibility(hasDetails ? View.VISIBLE : View.GONE);
         }
     }