*/\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
\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
\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
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;
/**
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();
}
}
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
\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
}\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