From: tobiasKaminsky Date: Fri, 27 Nov 2015 16:48:54 +0000 (+0100) Subject: Merge remote-tracking branch 'remotes/upstream/bug_1300' into beta X-Git-Tag: beta-20151128~6 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/8187a6e5126867cc859113aeb1677f3dcd9ef96b?hp=-c Merge remote-tracking branch 'remotes/upstream/bug_1300' into beta --- 8187a6e5126867cc859113aeb1677f3dcd9ef96b diff --combined src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java index 79bad6ad,cafab65d..ec489368 --- a/src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java +++ b/src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java @@@ -25,9 -25,7 +25,9 @@@ import java.util.Arrays import java.util.Comparator; import android.content.Context; +import android.content.SharedPreferences; import android.graphics.Bitmap; +import android.preference.PreferenceManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@@ -43,7 -41,6 +43,7 @@@ import com.owncloud.android.lib.common. import com.owncloud.android.utils.BitmapUtils; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.MimetypeIconUtil; +import com.owncloud.android.utils.FileStorageUtils; /** * This Adapter populates a ListView with all files and directories contained @@@ -56,18 -53,9 +56,18 @@@ public class LocalFileListAdapter exten private Context mContext; private File mDirectory; private File[] mFiles = null; + private SharedPreferences mAppPreferences; public LocalFileListAdapter(File directory, Context context) { mContext = context; + + mAppPreferences = PreferenceManager + .getDefaultSharedPreferences(mContext); + + // Read sorting order, default to sort by name ascending + FileStorageUtils.mSortOrder = mAppPreferences.getInt("sortOrder", 0); + FileStorageUtils.mSortAscending = mAppPreferences.getBoolean("sortAscending", true); + swapDirectory(directory); } @@@ -133,11 -121,9 +133,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())); @@@ -148,9 -134,9 +148,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); } @@@ -189,7 -175,6 +189,7 @@@ } } else { + fileSizeSeparatorV.setVisibility(View.GONE); fileSizeV.setVisibility(View.GONE); lastModV.setVisibility(View.GONE); checkBoxV.setVisibility(View.GONE); @@@ -227,7 -212,7 +227,7 @@@ public void swapDirectory(File directory) { mDirectory = directory; mFiles = (mDirectory != null ? mDirectory.listFiles() : null); - if (mFiles != null) { + if (mFiles != null && mFiles.length > 0) { Arrays.sort(mFiles, new Comparator() { @Override public int compare(File lhs, File rhs) { @@@ -244,23 -229,7 +244,23 @@@ } }); + + mFiles = FileStorageUtils.sortLocalFolder(mFiles); } notifyDataSetChanged(); } + + public void setSortOrder(Integer order, boolean ascending) { + SharedPreferences.Editor editor = mAppPreferences.edit(); + editor.putInt("sortOrder", order); + editor.putBoolean("sortAscending", ascending); + editor.commit(); + + FileStorageUtils.mSortOrder = order; + FileStorageUtils.mSortAscending = ascending; + + mFiles = FileStorageUtils.sortLocalFolder(mFiles); + notifyDataSetChanged(); + + } }