private View getView_tree(int position, View convertView, ViewGroup parent) { ViewHolder holder; int num_items = 0; String temp = mFileMang.getCurrentDir(); File file = new File(temp + "/" + mDataSource.get(position)); String[] list = file.list(); if (list != null) num_items = list.length; if (convertView == null) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.tablerow, parent, false); holder = new ViewHolder(); holder.topView = (TextView) convertView.findViewById(R.id.top_view); holder.bottomView = (TextView) convertView.findViewById(R.id.bottom_view); holder.icon = (ImageView) convertView.findViewById(R.id.row_image); holder.mSelect = (ImageView) convertView.findViewById(R.id.multiselect_icon); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } /* This will check if the thumbnail cache needs to be cleared by checking * if the user has changed directories. This way the cache wont show * a wrong thumbnail image for the new image file */ if (!dir_name.equals(temp) && thumbnail_flag) { thumbnail.clearBitmapCache(); dir_name = temp; } if (positions != null && positions.contains(position)) holder.mSelect.setVisibility(ImageView.VISIBLE); else holder.mSelect.setVisibility(ImageView.GONE); holder.topView.setTextColor(mColor); holder.bottomView.setTextColor(mColor); if (file != null && file.isFile()) { String ext = file.toString(); String sub_ext = ext.substring(ext.lastIndexOf(".") + 1); /* This series of else if statements will determine which * icon is displayed */ if (TypeFilter.getInstance().isPdfFile(sub_ext)) { holder.icon.setImageResource(R.drawable.pdf); } else if (TypeFilter.getInstance().isMusicFile(sub_ext)) { holder.icon.setImageResource(R.drawable.music); } else if (TypeFilter.getInstance().isPictureFile(sub_ext)) { if (thumbnail_flag && file.length() != 0) { Bitmap thumb = thumbnail.hasBitmapCached(position); boolean isJPG = false; if (sub_ext.equalsIgnoreCase("jpeg") || sub_ext.equalsIgnoreCase("jpg")) { isJPG = true; } if (thumb == null) { holder.icon.setImageResource(R.drawable.image); final Handler mHandler = new Handler(); thumbnail.setBitmapToImageView( file.getPath(), mHandler, holder.icon, isJPG, position); } else { holder.icon.setImageBitmap(thumb); } } else { holder.icon.setImageResource(R.drawable.image); } } else if (TypeFilter.getInstance().isZipFile(sub_ext) || TypeFilter.getInstance().isGZipFile(sub_ext) || TypeFilter.getInstance().isRarFile(sub_ext)) { holder.icon.setImageResource(R.drawable.zip); } else if (TypeFilter.getInstance().isMovieFile(sub_ext)) { holder.icon.setImageResource(R.drawable.movies); } else if (TypeFilter.getInstance().isWordFile(sub_ext)) { holder.icon.setImageResource(R.drawable.word); } else if (TypeFilter.getInstance().isExcelFile(sub_ext)) { holder.icon.setImageResource(R.drawable.excel); } else if (TypeFilter.getInstance().isPptFile(sub_ext)) { holder.icon.setImageResource(R.drawable.ppt); } else if (TypeFilter.getInstance().isHtml32File(sub_ext)) { holder.icon.setImageResource(R.drawable.html32); } else if (TypeFilter.getInstance().isXml32File(sub_ext)) { holder.icon.setImageResource(R.drawable.xml32); } else if (TypeFilter.getInstance().isConfig32File(sub_ext)) { holder.icon.setImageResource(R.drawable.config32); } else if (TypeFilter.getInstance().isApkFile(sub_ext)) { holder.icon.setImageDrawable(getApkIcon(ext, mContext)); } else if (TypeFilter.getInstance().isJarFile(sub_ext)) { holder.icon.setImageResource(R.drawable.jar32); } else if (TypeFilter.getInstance().isTxtFile(sub_ext)) { holder.icon.setImageResource(R.drawable.text); } else if (TypeFilter.getInstance().isPadFile(sub_ext)) { holder.icon.setImageResource(R.drawable.text); } else { holder.icon.setImageResource(R.drawable.config32); } } else if (file != null && file.isDirectory()) { holder.icon.setImageResource(R.drawable.folder); } else { holder.icon.setImageResource(R.drawable.text); } String permission = getFilePermissions(file); if (file.isFile()) { double size = file.length(); if (size > GB) display_size = String.format("%.2f Gb ", (double) size / GB); else if (size < GB && size > MG) display_size = String.format("%.2f Mb ", (double) size / MG); else if (size < MG && size > KB) display_size = String.format("%.2f Kb ", (double) size / KB); else display_size = String.format("%.2f bytes ", (double) size); if (file.isHidden()) holder.bottomView.setText("(hidden) | " + display_size + " | " + permission); else holder.bottomView.setText(display_size + " | " + permission); } else { if (file.isHidden()) holder.bottomView.setText("(hidden) | " + num_items + " items | " + permission); else holder.bottomView.setText(num_items + " items | " + permission); } holder.topView.setText(file.getName()); return convertView; }
private View getView_catalog(int position, View convertView, ViewGroup parent) { ViewHolder holder; File file = new File(mDataSource.get(position)); if (convertView == null) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.tablerow, parent, false); holder = new ViewHolder(); holder.topView = (TextView) convertView.findViewById(R.id.top_view); holder.bottomView = (TextView) convertView.findViewById(R.id.bottom_view); holder.icon = (ImageView) convertView.findViewById(R.id.row_image); holder.mSelect = (ImageView) convertView.findViewById(R.id.multiselect_icon); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } if (positions != null && positions.contains(position)) holder.mSelect.setVisibility(ImageView.VISIBLE); else holder.mSelect.setVisibility(ImageView.GONE); holder.topView.setTextColor(mColor); holder.bottomView.setTextColor(mColor); if (file != null && file.isFile()) { String ext = file.toString(); String sub_ext = ext.substring(ext.lastIndexOf(".") + 1); /* This series of else if statements will determine which * icon is displayed */ if (TypeFilter.getInstance().isPdfFile(sub_ext)) { holder.icon.setImageResource(R.drawable.pdf); } else if (TypeFilter.getInstance().isMusicFile(sub_ext)) { holder.icon.setImageResource(R.drawable.music); } else if (TypeFilter.getInstance().isPictureFile(sub_ext)) { if (thumbnail_flag && file.length() != 0) { Bitmap thumb = thumbnail.hasBitmapCached(position); if (thumb == null) { holder.icon.setImageResource(R.drawable.image); final Handler mHandler = new Handler(); boolean isJPG = false; if (sub_ext.equalsIgnoreCase("jpeg") || sub_ext.equalsIgnoreCase("jpg")) { isJPG = true; } thumbnail.setBitmapToImageView( file.getPath(), mHandler, holder.icon, isJPG, position); } else { holder.icon.setImageBitmap(thumb); } } else { holder.icon.setImageResource(R.drawable.image); } } else if (TypeFilter.getInstance().isMovieFile(sub_ext)) { holder.icon.setImageResource(R.drawable.movies); } else if (TypeFilter.getInstance().isTxtFile(sub_ext)) { holder.icon.setImageResource(R.drawable.text); } else if (TypeFilter.getInstance().isWordFile(sub_ext)) { holder.icon.setImageResource(R.drawable.word); } else if (TypeFilter.getInstance().isExcelFile(sub_ext)) { holder.icon.setImageResource(R.drawable.excel); } else if (TypeFilter.getInstance().isPptFile(sub_ext)) { holder.icon.setImageResource(R.drawable.ppt); } else if (TypeFilter.getInstance().isApkFile(sub_ext)) { holder.icon.setImageDrawable(getApkIcon(ext, mContext)); } else { holder.icon.setImageResource(R.drawable.text); } } String permission = getFilePermissions(file); if (file.isFile()) { double size = file.length(); if (size > GB) display_size = String.format("%.2f Gb ", (double) size / GB); else if (size < GB && size > MG) display_size = String.format("%.2f Mb ", (double) size / MG); else if (size < MG && size > KB) display_size = String.format("%.2f Kb ", (double) size / KB); else display_size = String.format("%.2f bytes ", (double) size); if (file.isHidden()) holder.bottomView.setText("(hidden) | " + display_size + " | " + permission); else holder.bottomView.setText(display_size + " | " + permission); } holder.topView.setText(file.getName()); return convertView; }