\r
import android.accounts.Account;\r
import android.content.Context;\r
+import android.content.res.Resources;\r
import android.graphics.Bitmap;\r
import android.graphics.BitmapFactory;\r
import android.media.ThumbnailUtils;\r
+import android.util.TypedValue;\r
import android.view.LayoutInflater;\r
import android.view.View;\r
import android.view.ViewGroup;\r
import android.widget.BaseAdapter;\r
+import android.widget.GridView;\r
import android.widget.ImageView;\r
import android.widget.ListAdapter;\r
import android.widget.ListView;\r
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;\r
import com.owncloud.android.ui.activity.ComponentsGetter;\r
import com.owncloud.android.utils.DisplayUtils;\r
+import com.owncloud.android.utils.Log_OC;\r
\r
\r
/**\r
\r
@Override\r
public View getView(int position, View convertView, ViewGroup parent) {\r
+ // decide image vs. file view\r
+ double count = 0;\r
+ \r
+ \r
+ for (OCFile file : mFiles){\r
+ if (file.isImage()){\r
+ count++;\r
+ }\r
+ }\r
+ \r
+ // > 50% Images --> image view\r
+ boolean fileView = true;\r
+ if ((count / mFiles.size()) >= 0.5){\r
+ Log_OC.i("FileListListAdapter", "Image View");\r
+ fileView = false;\r
+ } else {\r
+ Log_OC.i("FileListListAdapter", "File View");\r
+ fileView = true;\r
+ }\r
+ \r
View view = convertView;\r
- if (view == null) {\r
+// if (view == null) {\r
LayoutInflater inflator = (LayoutInflater) mContext\r
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);\r
- view = inflator.inflate(R.layout.list_item, null);\r
- }\r
+ if (fileView){\r
+ view = inflator.inflate(R.layout.list_item, null);\r
+ } else {\r
+ view = inflator.inflate(R.layout.image_item, null);\r
+ View frame = view.findViewById(R.id.imageItemFrame);\r
+ frame.setVisibility(View.GONE);\r
+ }\r
+// }\r
+ view.invalidate();\r
\r
if (mFiles != null && mFiles.size() > position) {\r
OCFile file = mFiles.get(position);\r
TextView fileName = (TextView) view.findViewById(R.id.Filename);\r
+ if (!fileView){fileName.setVisibility(View.GONE);}\r
String name = file.getFileName();\r
\r
fileName.setText(name);\r
view.findViewById(R.id.imageView3).setVisibility(View.VISIBLE);\r
}\r
\r
- ListView parentList = (ListView)parent;\r
- if (parentList.getChoiceMode() == ListView.CHOICE_MODE_NONE) { \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
\r
// generate Thumbnail if file is available local and image\r
if (file.isDown() && file.isImage()){\r
+ // Converts dp to pixel\r
+ Resources r = mContext.getResources();\r
+ int px = (int) Math.round(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150, r.getDisplayMetrics()));\r
Bitmap bitmap = BitmapFactory.decodeFile(file.getStoragePath());\r
- fileIcon.setImageBitmap(ThumbnailUtils.extractThumbnail(bitmap, 50, 50));\r
+ fileIcon.setImageBitmap(ThumbnailUtils.extractThumbnail(bitmap, px, px));\r
} else {\r
fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName())); \r
}\r
}\r
} \r
else {\r
- \r
fileSizeV.setVisibility(View.INVISIBLE);\r
- //fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
+ fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));\r
lastModV.setVisibility(View.VISIBLE);\r
lastModV.setText(DisplayUtils.unixTimeToHumanReadable(file.getModificationTimestamp()));\r
checkBoxV.setVisibility(View.GONE);\r