rebased
authortobiasKaminsky <tobias@kaminsky.me>
Mon, 19 Jan 2015 21:10:29 +0000 (22:10 +0100)
committertobiasKaminsky <tobias@kaminsky.me>
Mon, 19 Jan 2015 21:10:29 +0000 (22:10 +0100)
footer view disabled due to GridView does not support it

src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java
src/com/owncloud/android/utils/DisplayUtils.java

index 62a772e..3feb370 100644 (file)
@@ -65,7 +65,7 @@ import com.owncloud.android.utils.FileStorageUtils;
  */\r
 public class FileListListAdapter extends BaseAdapter implements ListAdapter {\r
     private final static String PERMISSION_SHARED_WITH_ME = "S";\r
-    \r
+\r
     private Context mContext;\r
     private OCFile mFile = null;\r
     private Vector<OCFile> mFiles = null;\r
@@ -142,29 +142,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
     @Override\r
     public View getView(int position, View convertView, ViewGroup parent) {\r
-     // decide image vs. file view\r
-        double countImages = 0;\r
-        double countFiles = 0;\r
-        \r
-        for (OCFile file : mFiles){\r
-            if (!file.isFolder()){\r
-                countFiles++;\r
-                \r
-                if (file.isImage()){\r
-                    countImages++;\r
-                }\r
-            }\r
-        }\r
-        \r
-        // TODO threshold as constant in Preferences\r
-        // > 50% Images --> image view\r
-        boolean fileView = true;\r
-        if ((countImages / countFiles) >= 0.5){\r
-            fileView = false;\r
-        } else {\r
-            fileView = true;\r
-        }\r
-        \r
+\r
+        boolean fileView = DisplayUtils.decideViewLayout(mFiles);\r
+\r
         View view = convertView;\r
         OCFile file = null;\r
         LayoutInflater inflator = (LayoutInflater) mContext\r
@@ -176,7 +156,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         \r
         // Find out which layout should be displayed\r
         ViewType viewType;\r
-        if (fileView){\r
+        if (!fileView){\r
             viewType = ViewType.LIST_ITEM;\r
         } else if (file.isImage()){\r
             viewType = ViewType.GRID_IMAGE;\r
index 114b048..4e65cac 100644 (file)
@@ -48,6 +48,7 @@ import com.owncloud.android.ui.dialog.RemoveFileDialogFragment;
 import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
 import com.owncloud.android.ui.preview.PreviewImageFragment;
 import com.owncloud.android.ui.preview.PreviewMediaFragment;
+import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.FileStorageUtils;
 
 /**
@@ -392,35 +393,15 @@ public class OCFileListFragment extends ExtendedListFragment {
                 imageView.setSelection(0);
             }
             mFile = directory;
-            
-            // Update Footer
-            TextView footerText = (TextView) mFooterView.findViewById(R.id.footerText);
-            Log_OC.d("footer", String.valueOf(System.currentTimeMillis()));
-            footerText.setText(generateFooterText(directory));
-            Log_OC.d("footer", String.valueOf(System.currentTimeMillis()));
-            
-         // decide image vs. file view
-            double countImages = 0;
-            double countFiles = 0;
-            
+
             Vector<OCFile> files = storageManager.getFolderContent(directory);
-            for (OCFile file : files){
-                if (!file.isFolder()){
-                    countFiles++;
-                    
-                    if (file.isImage()){
-                        countImages++;
-                    }
-                }
-            }
-            
-            // > 50% Images --> image view
-            // TODO threshold as constant in Preferences
-            if ((countImages / countFiles) >= 0.5){
-                Log_OC.i(TAG, "Image View");
+            if (DisplayUtils.decideViewLayout(files)){
                 switchImageView();
             } else {
-                Log_OC.i(TAG, "Folder View");
+                // Update Footer
+                TextView footerText = (TextView) mFooterView.findViewById(R.id.footerText);
+                footerText.setText(generateFooterText(directory));
+
                 switchFileView();
             }
         }
index c93e792..e22b6de 100644 (file)
@@ -26,6 +26,7 @@ import java.util.Date;
 import java.util.HashMap;\r
 import java.util.HashSet;\r
 import java.util.Set;\r
+import java.util.Vector;\r
 \r
 import android.annotation.TargetApi;\r
 import android.content.Context;\r
@@ -51,6 +52,8 @@ public class DisplayUtils {
     \r
     private static final String[] sizeSuffixes = { "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };\r
 \r
+    private final static Double THUMBNAIL_THRESHOLD = 0.5;\r
+\r
     private static HashMap<String, String> mimeType2HUmanReadable;\r
     static {\r
         mimeType2HUmanReadable = new HashMap<String, String>();\r
@@ -340,4 +343,31 @@ public class DisplayUtils {
         }\r
         return path;\r
     }\r
+\r
+    /**\r
+     *\r
+     * @param mFiles\r
+     * @return true: imageView, false: listView\r
+     */\r
+    public static boolean decideViewLayout(Vector<OCFile> mFiles){\r
+        // decide image vs. file view\r
+        double countImages = 0;\r
+        double countFiles = 0;\r
+\r
+        for (OCFile file : mFiles){\r
+            if (!file.isFolder()){\r
+                countFiles++;\r
+\r
+                if (file.isImage()){\r
+                    countImages++;\r
+                }\r
+            }\r
+        }\r
+\r
+        if ((countImages / countFiles) >= THUMBNAIL_THRESHOLD){\r
+            return true;\r
+        } else {\r
+            return false;\r
+        }\r
+    }\r
 }\r