mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Merge pull request #63 from owncloud/fix_refresh_large_default_storage
Fixed refresh when quota response holds an unexpected value or format
This commit is contained in:
commit
67d800027c
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
package com.owncloud.android.lib.common.network;
|
package com.owncloud.android.lib.common.network;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import org.apache.jackrabbit.webdav.MultiStatusResponse;
|
import org.apache.jackrabbit.webdav.MultiStatusResponse;
|
||||||
@ -37,6 +38,9 @@ import android.net.Uri;
|
|||||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||||
|
|
||||||
public class WebdavEntry {
|
public class WebdavEntry {
|
||||||
|
|
||||||
|
private static final String TAG = WebdavEntry.class.getSimpleName();
|
||||||
|
|
||||||
public static final String NAMESPACE_OC = "http://owncloud.org/ns";
|
public static final String NAMESPACE_OC = "http://owncloud.org/ns";
|
||||||
public static final String EXTENDED_PROPERTY_NAME_PERMISSIONS = "permissions";
|
public static final String EXTENDED_PROPERTY_NAME_PERMISSIONS = "permissions";
|
||||||
public static final String EXTENDED_PROPERTY_NAME_REMOTE_ID = "id";
|
public static final String EXTENDED_PROPERTY_NAME_REMOTE_ID = "id";
|
||||||
@ -49,7 +53,7 @@ public class WebdavEntry {
|
|||||||
|
|
||||||
private String mName, mPath, mUri, mContentType, mEtag, mPermissions, mRemoteId;
|
private String mName, mPath, mUri, mContentType, mEtag, mPermissions, mRemoteId;
|
||||||
private long mContentLength, mCreateTimestamp, mModifiedTimestamp, mSize;
|
private long mContentLength, mCreateTimestamp, mModifiedTimestamp, mSize;
|
||||||
private long mQuotaUsedBytes, mQuotaAvailableBytes;
|
private BigDecimal mQuotaUsedBytes, mQuotaAvailableBytes;
|
||||||
|
|
||||||
public WebdavEntry(MultiStatusResponse ms, String splitElement) {
|
public WebdavEntry(MultiStatusResponse ms, String splitElement) {
|
||||||
resetData();
|
resetData();
|
||||||
@ -131,14 +135,27 @@ public class WebdavEntry {
|
|||||||
// {DAV:}quota-used-bytes
|
// {DAV:}quota-used-bytes
|
||||||
prop = propSet.get(DavPropertyName.create(PROPERTY_QUOTA_USED_BYTES));
|
prop = propSet.get(DavPropertyName.create(PROPERTY_QUOTA_USED_BYTES));
|
||||||
if (prop != null) {
|
if (prop != null) {
|
||||||
mQuotaUsedBytes = Long.parseLong((String) prop.getValue());
|
String quotaUsedBytesSt = (String) prop.getValue();
|
||||||
|
try {
|
||||||
|
mQuotaUsedBytes = new BigDecimal(quotaUsedBytesSt);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
Log_OC.w(TAG, "No value for QuotaUsedBytes");
|
||||||
|
}
|
||||||
|
Log_OC.d(TAG , "QUOTA_USED_BYTES " + quotaUsedBytesSt );
|
||||||
}
|
}
|
||||||
|
|
||||||
// {DAV:}quota-available-bytes
|
// {DAV:}quota-available-bytes
|
||||||
prop = propSet.get(DavPropertyName.create(PROPERTY_QUOTA_AVAILABLE_BYTES));
|
prop = propSet.get(DavPropertyName.create(PROPERTY_QUOTA_AVAILABLE_BYTES));
|
||||||
if (prop != null) {
|
if (prop != null) {
|
||||||
mQuotaAvailableBytes = Long.parseLong((String) prop.getValue());
|
String quotaAvailableBytesSt = (String) prop.getValue();
|
||||||
|
try {
|
||||||
|
mQuotaAvailableBytes = new BigDecimal(quotaAvailableBytesSt);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
Log_OC.w(TAG, "No value for QuotaAvailableBytes");
|
||||||
|
}
|
||||||
|
Log_OC.d(TAG , "QUOTA_AVAILABLE_BYTES " + quotaAvailableBytesSt );
|
||||||
}
|
}
|
||||||
|
|
||||||
// OC permissions property <oc:permissions>
|
// OC permissions property <oc:permissions>
|
||||||
prop = propSet.get(
|
prop = propSet.get(
|
||||||
EXTENDED_PROPERTY_NAME_PERMISSIONS, Namespace.getNamespace(NAMESPACE_OC)
|
EXTENDED_PROPERTY_NAME_PERMISSIONS, Namespace.getNamespace(NAMESPACE_OC)
|
||||||
@ -222,11 +239,11 @@ public class WebdavEntry {
|
|||||||
return mSize;
|
return mSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long quotaUsedBytes() {
|
public BigDecimal quotaUsedBytes() {
|
||||||
return mQuotaUsedBytes;
|
return mQuotaUsedBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long quotaAvailableBytes() {
|
public BigDecimal quotaAvailableBytes() {
|
||||||
return mQuotaAvailableBytes;
|
return mQuotaAvailableBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,7 +251,7 @@ public class WebdavEntry {
|
|||||||
mName = mUri = mContentType = mPermissions = null; mRemoteId = null;
|
mName = mUri = mContentType = mPermissions = null; mRemoteId = null;
|
||||||
mContentLength = mCreateTimestamp = mModifiedTimestamp = 0;
|
mContentLength = mCreateTimestamp = mModifiedTimestamp = 0;
|
||||||
mSize = 0;
|
mSize = 0;
|
||||||
mQuotaUsedBytes = 0;
|
mQuotaUsedBytes = null;
|
||||||
mQuotaAvailableBytes = 0;
|
mQuotaAvailableBytes = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
package com.owncloud.android.lib.resources.files;
|
package com.owncloud.android.lib.resources.files;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
@ -51,8 +52,8 @@ public class RemoteFile implements Parcelable, Serializable {
|
|||||||
private String mPermissions;
|
private String mPermissions;
|
||||||
private String mRemoteId;
|
private String mRemoteId;
|
||||||
private long mSize;
|
private long mSize;
|
||||||
private long mQuotaUsedBytes;
|
private BigDecimal mQuotaUsedBytes;
|
||||||
private long mQuotaAvailableBytes;
|
private BigDecimal mQuotaAvailableBytes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Getters and Setters
|
* Getters and Setters
|
||||||
@ -130,11 +131,11 @@ public class RemoteFile implements Parcelable, Serializable {
|
|||||||
mSize = size;
|
mSize = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setQuotaUsedBytes (long quotaUsedBytes) {
|
public void setQuotaUsedBytes (BigDecimal quotaUsedBytes) {
|
||||||
mQuotaUsedBytes = quotaUsedBytes;
|
mQuotaUsedBytes = quotaUsedBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setQuotaAvailableBytes (long quotaAvailableBytes) {
|
public void setQuotaAvailableBytes (BigDecimal quotaAvailableBytes) {
|
||||||
mQuotaAvailableBytes = quotaAvailableBytes;
|
mQuotaAvailableBytes = quotaAvailableBytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -184,8 +185,8 @@ public class RemoteFile implements Parcelable, Serializable {
|
|||||||
mPermissions = null;
|
mPermissions = null;
|
||||||
mRemoteId = null;
|
mRemoteId = null;
|
||||||
mSize = 0;
|
mSize = 0;
|
||||||
mQuotaUsedBytes = 0;
|
mQuotaUsedBytes = null;
|
||||||
mQuotaAvailableBytes = 0;
|
mQuotaAvailableBytes = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -223,8 +224,8 @@ public class RemoteFile implements Parcelable, Serializable {
|
|||||||
mPermissions= source.readString();
|
mPermissions= source.readString();
|
||||||
mRemoteId = source.readString();
|
mRemoteId = source.readString();
|
||||||
mSize = source.readLong();
|
mSize = source.readLong();
|
||||||
mQuotaUsedBytes = source.readLong();
|
mQuotaUsedBytes = (BigDecimal) source.readSerializable();
|
||||||
mQuotaAvailableBytes = source.readLong();
|
mQuotaAvailableBytes = (BigDecimal) source.readSerializable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -243,8 +244,8 @@ public class RemoteFile implements Parcelable, Serializable {
|
|||||||
dest.writeString(mPermissions);
|
dest.writeString(mPermissions);
|
||||||
dest.writeString(mRemoteId);
|
dest.writeString(mRemoteId);
|
||||||
dest.writeLong(mSize);
|
dest.writeLong(mSize);
|
||||||
dest.writeLong(mQuotaUsedBytes);
|
dest.writeSerializable(mQuotaUsedBytes);
|
||||||
dest.writeLong(mQuotaAvailableBytes);
|
dest.writeSerializable(mQuotaAvailableBytes);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user