From: Andy Scherzinger Date: Thu, 24 Sep 2015 07:46:58 +0000 (+0200) Subject: Merge branch 'release-1.8' of https://github.com/owncloud/android into material_buttons X-Git-Tag: beta-20151128~7^2~20 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/de13ecc4e3e15c4617f0a8e72e196ffad6a2e31a?hp=-c Merge branch 'release-1.8' of https://github.com/owncloud/android into material_buttons --- de13ecc4e3e15c4617f0a8e72e196ffad6a2e31a diff --combined src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java index 8bae9380,60675f46..a6839e55 --- a/src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java +++ b/src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java @@@ -37,6 -37,7 +37,7 @@@ import android.widget.TextView import com.owncloud.android.R; import com.owncloud.android.datamodel.ThumbnailsCacheManager; + import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.utils.BitmapUtils; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.MimetypeIconUtil; @@@ -46,7 -47,9 +47,9 @@@ * in a local directory */ public class LocalFileListAdapter extends BaseAdapter implements ListAdapter { - + + private static final String TAG = LocalFileListAdapter.class.getSimpleName(); + private Context mContext; private File mDirectory; private File[] mFiles = null; @@@ -104,6 -107,12 +107,12 @@@ fileName.setText(name); ImageView fileIcon = (ImageView) view.findViewById(R.id.thumbnail); + + /** Cancellation needs do be checked and done before changing the drawable in fileIcon, or + * {@link ThumbnailsCacheManager#cancelPotentialWork} will NEVER cancel any task. + **/ + boolean allowedToCreateNewThumbnail = (ThumbnailsCacheManager.cancelPotentialWork(file, fileIcon)); + if (!file.isDirectory()) { fileIcon.setImageResource(R.drawable.file); } else { @@@ -112,11 -121,9 +121,11 @@@ fileIcon.setTag(file.hashCode()); TextView fileSizeV = (TextView) view.findViewById(R.id.file_size); + TextView fileSizeSeparatorV = (TextView) view.findViewById(R.id.file_separator); TextView lastModV = (TextView) view.findViewById(R.id.last_mod); ImageView checkBoxV = (ImageView) view.findViewById(R.id.custom_checkbox); if (!file.isDirectory()) { + fileSizeSeparatorV.setVisibility(View.VISIBLE); fileSizeV.setVisibility(View.VISIBLE); fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.length())); @@@ -127,9 -134,9 +136,9 @@@ checkBoxV.setVisibility(View.GONE); } else { if (parentList.isItemChecked(position)) { - checkBoxV.setImageResource(android.R.drawable.checkbox_on_background); + checkBoxV.setImageResource(R.drawable.ic_checkbox_marked); } else { - checkBoxV.setImageResource(android.R.drawable.checkbox_off_background); + checkBoxV.setImageResource(R.drawable.ic_checkbox_blank_outline); } checkBoxV.setVisibility(View.VISIBLE); } @@@ -145,7 -152,7 +154,7 @@@ } else { // generate new Thumbnail - if (ThumbnailsCacheManager.cancelPotentialWork(file, fileIcon)) { + if (allowedToCreateNewThumbnail) { final ThumbnailsCacheManager.ThumbnailGenerationTask task = new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon); if (thumbnail == null) { @@@ -159,14 -166,15 +168,16 @@@ ); fileIcon.setImageDrawable(asyncDrawable); task.execute(file); - } + Log_OC.v(TAG, "Executing task to generate a new thumbnail"); + + } // else, already being generated, don't restart it } } else { fileIcon.setImageResource(MimetypeIconUtil.getFileTypeIconId(null, file.getName())); } } else { + fileSizeSeparatorV.setVisibility(View.GONE); fileSizeV.setVisibility(View.GONE); lastModV.setVisibility(View.GONE); checkBoxV.setVisibility(View.GONE);