import java.util.Locale;\r
\r
import com.owncloud.android.MainApp;\r
+import com.owncloud.android.lib.common.OwnCloudAccount;\r
import com.owncloud.android.lib.common.accounts.AccountTypeUtils;\r
import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;\r
import com.owncloud.android.lib.common.utils.Log_OC;\r
return url;\r
}\r
\r
+ /**\r
+ * Access the version of the OC server corresponding to an account SAVED IN THE ACCOUNTMANAGER\r
+ *\r
+ * @param account ownCloud account\r
+ * @return Version of the OC server corresponding to account, according to the data saved\r
+ * in the system AccountManager\r
+ */\r
+ public static OwnCloudVersion getServerVersion(Account account) {\r
+ if (account != null) {\r
+ AccountManager accountMgr = AccountManager.get(MainApp.getAppContext());\r
+ String serverVersionStr = accountMgr.getUserData(account, Constants.KEY_OC_VERSION);\r
+ return new OwnCloudVersion(serverVersionStr);\r
+ }\r
+ return null;\r
+ }\r
+\r
}\r
import android.widget.AdapterView.AdapterContextMenuInfo;
import com.owncloud.android.R;
+import com.owncloud.android.authentication.AccountUtils;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.files.FileMenuFilter;
import com.owncloud.android.lib.common.utils.Log_OC;
+import com.owncloud.android.lib.resources.status.OwnCloudVersion;
+import com.owncloud.android.ui.activity.FileActivity;
import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.activity.FolderPickerActivity;
import com.owncloud.android.ui.activity.OnEnforceableRefreshListener;
/**
* A Fragment that lists all files and folders in a given path.
*
- * TODO refactorize to get rid of direct dependency on FileDisplayActivity
+ * TODO refactor to get rid of direct dependency on FileDisplayActivity
*/
public class OCFileListFragment extends ExtendedListFragment {
private static final String KEY_FILE = MY_PACKAGE + ".extra.FILE";
- private final static Double THUMBNAIL_THRESHOLD = 0.5;
-
private FileFragment.ContainerActivity mContainerActivity;
private OCFile mFile = null;
setFooterText(generateFooterText(filesCount, foldersCount));
// decide grid vs list view
- if (((double)imagesCount / (double)filesCount) >= THUMBNAIL_THRESHOLD) {
+ OwnCloudVersion version = AccountUtils.getServerVersion(((FileActivity)mContainerActivity).getAccount());
+ if (version != null && version.supportsRemoteThumbnails() &&
+ imagesCount == filesCount) {
switchToGridView();
} else {
switchToListView();