Update class FileListAdapter to show new icon for a file and folder that includes...
authorjabarros <jabarros@solidgear.es>
Wed, 25 Jun 2014 07:04:50 +0000 (09:04 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Tue, 1 Jul 2014 07:59:30 +0000 (09:59 +0200)
res/layout/list_item.xml
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

index abe0e7f..872ebcf 100644 (file)
 \r
     </LinearLayout>\r
 \r
+    <LinearLayout\r
+        android:layout_width="wrap_content"\r
+        android:layout_height="match_parent"\r
+        android:gravity="center_vertical"\r
+        android:orientation="vertical">\r
+\r
+    <ImageView\r
+        android:id="@+id/shareWithMeIcon"\r
+        android:layout_width="wrap_content"\r
+        android:layout_height="wrap_content"\r
+        android:layout_gravity="center_vertical"\r
+        android:layout_marginLeft="4dp"\r
+        android:layout_marginRight="4dp"\r
+        android:layout_marginBottom="4dp"\r
+        android:src="@drawable/shared_with_me"\r
+        android:visibility="gone" />\r
+\r
     <ImageView\r
         android:id="@+id/shareIcon"\r
         android:layout_width="wrap_content"\r
         android:layout_height="wrap_content"\r
         android:layout_gravity="center_vertical"\r
         android:layout_marginLeft="4dp"\r
+        android:layout_marginTop="4dp"\r
         android:layout_marginRight="4dp"\r
         android:src="@drawable/sharedlink" />\r
 \r
+    </LinearLayout>\r
+\r
     <ImageView\r
         android:id="@+id/custom_checkbox"\r
         android:layout_width="wrap_content"\r
index 656e004..2f29c91 100644 (file)
  */\r
 package com.owncloud.android.ui.adapter;\r
 \r
+import java.util.Vector;\r
+\r
 import android.accounts.Account;\r
-import android.content.Context;
+import android.content.Context;\r
 import android.view.LayoutInflater;\r
 import android.view.View;\r
 import android.view.ViewGroup;\r
@@ -28,9 +30,6 @@ import android.widget.ListAdapter;
 import android.widget.ListView;\r
 import android.widget.TextView;\r
 \r
-\r
-import java.util.Vector;\r
-\r
 import com.owncloud.android.R;\r
 import com.owncloud.android.authentication.AccountUtils;\r
 import com.owncloud.android.datamodel.FileDataStorageManager;\r
@@ -49,6 +48,9 @@ import com.owncloud.android.utils.DisplayUtils;
  * \r
  */\r
 public class FileListListAdapter extends BaseAdapter implements ListAdapter {\r
+    private final static String PERMISSION_SHARED_WITH_ME = "S";\r
+    private final static String FILE_CONTENTTYPE_FOLDER = "DIR";\r
+\r
     private Context mContext;\r
     private OCFile mFile = null;\r
     private Vector<OCFile> mFiles = null;\r
@@ -113,7 +115,33 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
             fileName.setText(name);\r
             ImageView fileIcon = (ImageView) view.findViewById(R.id.imageView1);\r
-            fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName()));\r
+            ImageView shareIconV = (ImageView) view.findViewById(R.id.shareIcon);\r
+            ImageView shareWithMeIconV = (ImageView) view.findViewById(R.id.shareWithMeIcon);\r
+\r
+            if (file.isShareByLink()) {\r
+                shareIconV.setVisibility(View.VISIBLE);\r
+            } else {\r
+                shareIconV.setVisibility(View.GONE);\r
+            }\r
+\r
+            // Checks if parent folder does not include 'S' permission\r
+            if (mFile.getPermissions() != null && !mFile.getPermissions().contains(PERMISSION_SHARED_WITH_ME)) {\r
+\r
+                // Checks if file/folder is shared with me\r
+                if (file.getPermissions() != null && file.getPermissions().contains(PERMISSION_SHARED_WITH_ME)) {\r
+\r
+                    // For folders, also update left icon\r
+                    if (file.getMimetype().equals(FILE_CONTENTTYPE_FOLDER)) {\r
+                        fileIcon.setImageResource(R.drawable.shared_with_me_folder);\r
+                    } else {\r
+                        fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName()));\r
+                    }\r
+                    shareWithMeIconV.setVisibility(View.VISIBLE);\r
+                } else {\r
+                    fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName()));\r
+                }\r
+            }\r
+\r
             ImageView localStateView = (ImageView) view.findViewById(R.id.imageView2);\r
             FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder();\r
             FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder();\r
@@ -169,13 +197,6 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                 checkBoxV.setVisibility(View.GONE);\r
                 view.findViewById(R.id.imageView3).setVisibility(View.GONE);\r
             }\r
-            \r
-            ImageView shareIconV = (ImageView) view.findViewById(R.id.shareIcon);\r
-            if (file.isShareByLink()) {\r
-                shareIconV.setVisibility(View.VISIBLE);\r
-            } else {\r
-                shareIconV.setVisibility(View.INVISIBLE);\r
-            }\r
         }\r
 \r
         return view;\r