Show status icons in gridview
authormasensio <masensio@solidgear.es>
Tue, 27 Jan 2015 12:51:44 +0000 (13:51 +0100)
committermasensio <masensio@solidgear.es>
Tue, 27 Jan 2015 12:51:44 +0000 (13:51 +0100)
res/layout/grid_image.xml
res/layout/grid_item.xml
res/layout/list_item.xml
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

index f8a171e..e372faa 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <!--\r
   ownCloud Android client application\r
 <?xml version="1.0" encoding="UTF-8"?>\r
 <!--\r
   ownCloud Android client application\r
-\r
   Copyright (C) 2014 ownCloud Inc.\r
 \r
   This program is free software: you can redistribute it and/or modify\r
   Copyright (C) 2014 ownCloud Inc.\r
 \r
   This program is free software: you can redistribute it and/or modify\r
         android:layout_width="match_parent"\r
         android:layout_height="wrap_content" >\r
 \r
         android:layout_width="match_parent"\r
         android:layout_height="wrap_content" >\r
 \r
-        <ImageView\r
-            android:id="@+id/sharedIcon"\r
+        <LinearLayout\r
             android:layout_width="wrap_content"\r
             android:layout_height="wrap_content"\r
             android:layout_width="wrap_content"\r
             android:layout_height="wrap_content"\r
-            android:layout_gravity="top|left"\r
-            android:layout_marginLeft="2dp"\r
-            android:layout_marginTop="2dp"\r
-            android:src="@drawable/sharedlink" />\r
+            android:layout_gravity="top|right"\r
+            android:orientation="vertical"\r
+            android:layout_margin="4dp">\r
 \r
 \r
-        <ImageView\r
-            android:id="@+id/sharedWithMeIcon"\r
-            android:layout_width="wrap_content"\r
-            android:layout_height="wrap_content"\r
-            android:layout_gravity="bottom|left"\r
-            android:layout_marginLeft="2dp"\r
-            android:layout_marginTop="2dp"\r
-            android:src="@drawable/shared_with_me" />\r
+            <ImageView\r
+                android:id="@+id/sharedIcon"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_gravity="center"\r
+                android:layout_marginBottom="4dp"\r
+                android:src="@drawable/sharedlink" />\r
 \r
 \r
+            <ImageView\r
+                android:id="@+id/sharedWithMeIcon"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_gravity="center"\r
+                android:layout_marginTop="4dp"\r
+                android:src="@drawable/shared_with_me"\r
+                android:visibility="invisible" />\r
+        </LinearLayout>\r
         <com.owncloud.android.ui.SquareImageView\r
             android:id="@+id/thumbnail"\r
             android:layout_width="match_parent"\r
         <com.owncloud.android.ui.SquareImageView\r
             android:id="@+id/thumbnail"\r
             android:layout_width="match_parent"\r
             android:paddingLeft="10dp"\r
             android:paddingRight="10dp"\r
             android:scaleType="centerCrop"\r
             android:paddingLeft="10dp"\r
             android:paddingRight="10dp"\r
             android:scaleType="centerCrop"\r
-            android:src="@drawable/ic_menu_archive" />\r
+            android:src="@drawable/ic_menu_archive"/>\r
 \r
         <ImageView\r
             android:id="@+id/localFileIndicator"\r
             android:layout_width="@dimen/file_icon_size"\r
             android:layout_height="@dimen/file_icon_size"\r
 \r
         <ImageView\r
             android:id="@+id/localFileIndicator"\r
             android:layout_width="@dimen/file_icon_size"\r
             android:layout_height="@dimen/file_icon_size"\r
-            android:layout_gravity="top|right"\r
-            android:layout_marginTop="2dp"\r
-            android:layout_marginRight="2dp"\r
+            android:layout_gravity="bottom|right"\r
+            android:layout_marginTop="4dp"\r
+            android:layout_marginBottom="4dp"\r
+            android:layout_marginRight="4dp"\r
             android:src="@drawable/local_file_indicator" />\r
 \r
         <ImageView\r
             android:src="@drawable/local_file_indicator" />\r
 \r
         <ImageView\r
             android:layout_width="15dp"\r
             android:layout_height="15dp"\r
             android:layout_gravity="bottom|right"\r
             android:layout_width="15dp"\r
             android:layout_height="15dp"\r
             android:layout_gravity="bottom|right"\r
-            android:layout_marginBottom="2dp"\r
-            android:layout_marginRight="2dp"\r
+            android:layout_marginBottom="4dp"\r
+            android:layout_marginRight="4dp"\r
             android:src="@drawable/ic_favorite" />\r
             android:src="@drawable/ic_favorite" />\r
-\r
-\r
-\r
     </FrameLayout>\r
 \r
 </LinearLayout>
\ No newline at end of file
     </FrameLayout>\r
 \r
 </LinearLayout>
\ No newline at end of file
index 905cf8d..b5c2039 100644 (file)
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <!--\r
   ownCloud Android client application\r
 <?xml version="1.0" encoding="UTF-8"?>\r
 <!--\r
   ownCloud Android client application\r
-\r
   Copyright (C) 2014 ownCloud Inc.\r
 \r
   This program is free software: you can redistribute it and/or modify\r
   Copyright (C) 2014 ownCloud Inc.\r
 \r
   This program is free software: you can redistribute it and/or modify\r
         android:layout_width="match_parent"\r
         android:layout_height="wrap_content"\r
         android:layout_gravity="center_horizontal" >\r
         android:layout_width="match_parent"\r
         android:layout_height="wrap_content"\r
         android:layout_gravity="center_horizontal" >\r
-\r
-        <ImageView\r
-            android:id="@+id/sharedIcon"\r
+        <LinearLayout\r
             android:layout_width="wrap_content"\r
             android:layout_height="wrap_content"\r
             android:layout_width="wrap_content"\r
             android:layout_height="wrap_content"\r
-            android:layout_gravity="top|left"\r
-            android:layout_marginLeft="2dp"\r
-            android:layout_marginTop="2dp"\r
-            android:src="@drawable/sharedlink" />\r
+            android:layout_gravity="top|right"\r
+            android:orientation="vertical"\r
+            android:layout_margin="2dp">\r
 \r
 \r
-        <ImageView\r
-            android:id="@+id/sharedWithMeIcon"\r
-            android:layout_width="wrap_content"\r
-            android:layout_height="wrap_content"\r
-            android:layout_gravity="bottom|left"\r
-            android:layout_marginLeft="2dp"\r
-            android:layout_marginTop="2dp"\r
-            android:src="@drawable/shared_with_me" />\r
+            <ImageView\r
+                android:id="@+id/sharedIcon"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_gravity="center"\r
+                android:layout_marginBottom="2dp"\r
+                android:src="@drawable/sharedlink" />\r
 \r
 \r
+            <ImageView\r
+                android:id="@+id/sharedWithMeIcon"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_gravity="center"\r
+                android:layout_marginTop="2dp"\r
+                android:src="@drawable/shared_with_me"\r
+                android:visibility="invisible" />\r
+        </LinearLayout>\r
         <ImageView\r
             android:id="@+id/thumbnail"\r
             android:layout_width="72dp"\r
         <ImageView\r
             android:id="@+id/thumbnail"\r
             android:layout_width="72dp"\r
@@ -62,7 +66,7 @@
             android:id="@+id/localFileIndicator"\r
             android:layout_width="@dimen/file_icon_size"\r
             android:layout_height="@dimen/file_icon_size"\r
             android:id="@+id/localFileIndicator"\r
             android:layout_width="@dimen/file_icon_size"\r
             android:layout_height="@dimen/file_icon_size"\r
-            android:layout_gravity="top|right"\r
+            android:layout_gravity="bottom|right"\r
             android:layout_marginTop="2dp"\r
             android:layout_marginRight="2dp"\r
             android:src="@drawable/local_file_indicator" />\r
             android:layout_marginTop="2dp"\r
             android:layout_marginRight="2dp"\r
             android:src="@drawable/local_file_indicator" />\r
@@ -76,6 +80,8 @@
             android:layout_marginRight="2dp"\r
             android:src="@drawable/ic_favorite" />\r
 \r
             android:layout_marginRight="2dp"\r
             android:src="@drawable/ic_favorite" />\r
 \r
+\r
+\r
     </FrameLayout>\r
 \r
     <TextView\r
     </FrameLayout>\r
 \r
     <TextView\r
index 1b2f142..0ea3bce 100644 (file)
             android:gravity="center_vertical"\r
             android:orientation="vertical">\r
 \r
             android:gravity="center_vertical"\r
             android:orientation="vertical">\r
 \r
-        <ImageView\r
-            android:id="@+id/sharedIcon"\r
-            android:layout_width="wrap_content"\r
-            android:layout_height="wrap_content"\r
-            android:layout_gravity="center"\r
-            android:layout_marginLeft="4dp"\r
-            android:layout_marginBottom="4dp"\r
-            android:layout_marginRight="4dp"\r
-            android:src="@drawable/sharedlink" />\r
+            <ImageView\r
+                android:id="@+id/sharedIcon"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_gravity="center"\r
+                android:layout_marginLeft="4dp"\r
+                android:layout_marginBottom="4dp"\r
+                android:layout_marginRight="4dp"\r
+                android:src="@drawable/sharedlink" />\r
 \r
 \r
-        <ImageView\r
-            android:id="@+id/sharedWithMeIcon"\r
-            android:layout_width="wrap_content"\r
-            android:layout_height="wrap_content"\r
-            android:layout_gravity="center"\r
-            android:layout_marginLeft="4dp"\r
-            android:layout_marginRight="4dp"\r
-            android:layout_marginTop="4dp"\r
-            android:src="@drawable/shared_with_me"\r
-            android:visibility="invisible" />\r
+            <ImageView\r
+                android:id="@+id/sharedWithMeIcon"\r
+                android:layout_width="wrap_content"\r
+                android:layout_height="wrap_content"\r
+                android:layout_gravity="center"\r
+                android:layout_marginLeft="4dp"\r
+                android:layout_marginRight="4dp"\r
+                android:layout_marginTop="4dp"\r
+                android:src="@drawable/shared_with_me"\r
+                android:visibility="invisible" />\r
 \r
         </LinearLayout>\r
 \r
 \r
         </LinearLayout>\r
 \r
index 76dc498..1e6670d 100644 (file)
@@ -149,11 +149,11 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         OCFile file = null;\r
         LayoutInflater inflator = (LayoutInflater) mContext\r
                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r
         OCFile file = null;\r
         LayoutInflater inflator = (LayoutInflater) mContext\r
                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r
-        \r
+\r
         if (mFiles != null && mFiles.size() > position) {\r
             file = mFiles.get(position);\r
         }\r
         if (mFiles != null && mFiles.size() > position) {\r
             file = mFiles.get(position);\r
         }\r
-        \r
+\r
         // Find out which layout should be displayed\r
         ViewType viewType;\r
         if (!fileView){\r
         // Find out which layout should be displayed\r
         ViewType viewType;\r
         if (!fileView){\r
@@ -166,15 +166,15 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
         // Create View\r
         switch (viewType){\r
 \r
         // Create View\r
         switch (viewType){\r
-        case GRID_IMAGE:\r
-            view = inflator.inflate(R.layout.grid_image, null);\r
-            break;\r
-        case GRID_ITEM:\r
-            view = inflator.inflate(R.layout.grid_item, null);\r
-            break;\r
-        case LIST_ITEM:\r
-            view = inflator.inflate(R.layout.list_item, null);\r
-            break;\r
+            case GRID_IMAGE:\r
+                view = inflator.inflate(R.layout.grid_image, null);\r
+                break;\r
+            case GRID_ITEM:\r
+                view = inflator.inflate(R.layout.grid_item, null);\r
+                break;\r
+            case LIST_ITEM:\r
+                view = inflator.inflate(R.layout.list_item, null);\r
+                break;\r
         }\r
 \r
         view.invalidate();\r
         }\r
 \r
         view.invalidate();\r
@@ -184,49 +184,56 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
             ImageView fileIcon = (ImageView) view.findViewById(R.id.thumbnail);\r
             TextView fileName;\r
             String name;\r
             ImageView fileIcon = (ImageView) view.findViewById(R.id.thumbnail);\r
             TextView fileName;\r
             String name;\r
-            \r
+\r
             switch (viewType){\r
             switch (viewType){\r
-            case LIST_ITEM:\r
-                fileName = (TextView) view.findViewById(R.id.Filename);\r
-                name = file.getFileName();\r
-                fileName.setText(name);\r
-                \r
-                TextView fileSizeV = (TextView) view.findViewById(R.id.file_size);\r
-                TextView lastModV = (TextView) view.findViewById(R.id.last_mod);\r
-                ImageView checkBoxV = (ImageView) view.findViewById(R.id.custom_checkbox);\r
-                \r
-                lastModV.setVisibility(View.VISIBLE);\r
-                lastModV.setText(showRelativeTimestamp(file));\r
-                \r
-                checkBoxV.setVisibility(View.GONE);\r
-                \r
-                fileSizeV.setVisibility(View.VISIBLE);\r
-                fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
-                \r
-                ImageView sharedIconV = (ImageView) view.findViewById(R.id.sharedIcon);\r
-                \r
-\r
-                if (file.isShareByLink()) {\r
-                    sharedIconV.setVisibility(View.VISIBLE);\r
-                } else {\r
-                    sharedIconV.setVisibility(View.GONE);\r
-                }\r
-                \r
-                ImageView localStateView = (ImageView) view.findViewById(R.id.localFileIndicator);\r
-                \r
-                if (!file.isFolder()) {\r
-                    GridView parentList = (GridView)parent;\r
-                    if (parentList.getChoiceMode() == GridView.CHOICE_MODE_NONE) { \r
-                        checkBoxV.setVisibility(View.GONE);\r
-                    } else {\r
-                        if (parentList.isItemChecked(position)) {\r
-                            checkBoxV.setImageResource(android.R.drawable.checkbox_on_background);\r
+                case LIST_ITEM:\r
+                    TextView fileSizeV = (TextView) view.findViewById(R.id.file_size);\r
+                    TextView lastModV = (TextView) view.findViewById(R.id.last_mod);\r
+                    ImageView checkBoxV = (ImageView) view.findViewById(R.id.custom_checkbox);\r
+\r
+                    lastModV.setVisibility(View.VISIBLE);\r
+                    lastModV.setText(showRelativeTimestamp(file));\r
+\r
+                    checkBoxV.setVisibility(View.GONE);\r
+\r
+                    fileSizeV.setVisibility(View.VISIBLE);\r
+                    fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
+\r
+                    if (!file.isFolder()) {\r
+                        GridView parentList = (GridView)parent;\r
+                        if (parentList.getChoiceMode() == GridView.CHOICE_MODE_NONE) {\r
+                            checkBoxV.setVisibility(View.GONE);\r
                         } else {\r
                         } else {\r
-                            checkBoxV.setImageResource(android.R.drawable.checkbox_off_background);\r
+                            if (parentList.isItemChecked(position)) {\r
+                                checkBoxV.setImageResource(android.R.drawable.checkbox_on_background);\r
+                            } else {\r
+                                checkBoxV.setImageResource(android.R.drawable.checkbox_off_background);\r
+                            }\r
+                            checkBoxV.setVisibility(View.VISIBLE);\r
                         }\r
                         }\r
-                        checkBoxV.setVisibility(View.VISIBLE);\r
+\r
+                    } else { //Folder\r
+                        fileSizeV.setVisibility(View.INVISIBLE);\r
+                    }\r
+\r
+                case GRID_ITEM:\r
+                    // filename\r
+                    fileName = (TextView) view.findViewById(R.id.Filename);\r
+                    name = file.getFileName();\r
+                    fileName.setText(name);\r
+\r
+                case GRID_IMAGE:\r
+                    // sharedIcon\r
+                    ImageView sharedIconV = (ImageView) view.findViewById(R.id.sharedIcon);\r
+                    if (file.isShareByLink()) {\r
+                        sharedIconV.setVisibility(View.VISIBLE);\r
+                        sharedIconV.bringToFront();\r
+                    } else {\r
+                        sharedIconV.setVisibility(View.GONE);\r
                     }\r
                     }\r
-                    \r
+\r
+                    // local state\r
+                    ImageView localStateView = (ImageView) view.findViewById(R.id.localFileIndicator);\r
                     localStateView.bringToFront();\r
                     FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder();\r
                     FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder();\r
                     localStateView.bringToFront();\r
                     FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder();\r
                     FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder();\r
@@ -242,25 +249,19 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                     } else {\r
                         localStateView.setVisibility(View.INVISIBLE);\r
                     }\r
                     } else {\r
                         localStateView.setVisibility(View.INVISIBLE);\r
                     }\r
-                    \r
-                    ImageView sharedWithMeIconV = (ImageView) view.findViewById(R.id.sharedWithMeIcon);\r
-                    if (checkIfFileIsSharedWithMe(file)) {\r
-                        sharedWithMeIconV.setVisibility(View.VISIBLE);\r
-                    } else {\r
-                        sharedWithMeIconV.setVisibility(View.GONE);\r
+\r
+                    // share with me icon\r
+                    if (!file.isFolder()) {\r
+                        ImageView sharedWithMeIconV = (ImageView) view.findViewById(R.id.sharedWithMeIcon);\r
+                        sharedWithMeIconV.bringToFront();\r
+                        if (checkIfFileIsSharedWithMe(file)) {\r
+                            sharedWithMeIconV.setVisibility(View.VISIBLE);\r
+                        } else {\r
+                            sharedWithMeIconV.setVisibility(View.GONE);\r
+                        }\r
                     }\r
                     }\r
-                } else { //Folder\r
-                    fileSizeV.setVisibility(View.INVISIBLE);\r
-                    localStateView.setVisibility(View.INVISIBLE);\r
-                }\r
-                break;\r
-            case GRID_ITEM:\r
-                fileName = (TextView) view.findViewById(R.id.Filename);\r
-                name = file.getFileName();\r
-                fileName.setText(name);\r
-                break;\r
-            case GRID_IMAGE:\r
-                break;\r
+\r
+                    break;\r
             }\r
             \r
             // For all Views\r
             }\r
             \r
             // For all Views\r
@@ -318,7 +319,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                             DisplayUtils.getFileTypeIconId(file.getMimetype(), file.getFileName())\r
                     );\r
                 }\r
                             DisplayUtils.getFileTypeIconId(file.getMimetype(), file.getFileName())\r
                     );\r
                 }\r
-            }           \r
+            }\r
         }\r
 \r
         return view;\r
         }\r
 \r
         return view;\r