Loading src/com/owncloud/android/lib/resources/users/RemoteGetUserQuotaOperation.java +25 −3 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.owncloud.android.lib.common.utils.Log_OC; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; Loading @@ -47,14 +48,15 @@ import java.util.ArrayList; public class RemoteGetUserQuotaOperation extends RemoteOperation { static public class Quota { private long mFree, mUsed, mTotal; private long mFree, mUsed, mTotal, mQuota; private double mRelative; public Quota(long free, long used, long total, double relative) { public Quota(long free, long used, long total, double relative, long quota) { mFree = free; mUsed = used; mTotal = total; mRelative = relative; mQuota = quota; } public long getFree() { Loading @@ -69,6 +71,10 @@ public class RemoteGetUserQuotaOperation extends RemoteOperation { return mTotal; } public long getQuota() { return mQuota; } public double getRelative() { return mRelative; } Loading @@ -84,6 +90,15 @@ public class RemoteGetUserQuotaOperation extends RemoteOperation { private static final String NODE_QUOTA_TOTAL = "total"; private static final String NODE_QUOTA_RELATIVE = "relative"; /** Quota return value for a not computed space value. */ public static final long SPACE_NOT_COMPUTED = -1; /** Quota return value for unknown space value. */ public static final long SPACE_UNKNOWN = -2; /** Quota return value for unlimited space. */ public static final long SPACE_UNLIMITED = -3; // OCS Route private static final String OCS_ROUTE = "/ocs/v1.php/cloud/users/"; Loading Loading @@ -113,13 +128,20 @@ public class RemoteGetUserQuotaOperation extends RemoteOperation { final Long quotaFree = quota.getLong(NODE_QUOTA_FREE); final Long quotaUsed = quota.getLong(NODE_QUOTA_USED); final Long quotaTotal = quota.getLong(NODE_QUOTA_TOTAL); Long quotaValue; try { quotaValue = Long.valueOf(quota.getLong(NODE_QUOTA)); } catch (JSONException e) { // quota value only present in NC 9.0.54+ quotaValue = SPACE_UNKNOWN; } final Double quotaRelative = quota.getDouble(NODE_QUOTA_RELATIVE); // Result result = new RemoteOperationResult(true, status, get.getResponseHeaders()); // Quota data in data collection ArrayList<Object> data = new ArrayList<>(); data.add(new Quota(quotaFree, quotaUsed, quotaTotal, quotaRelative)); data.add(new Quota(quotaFree, quotaUsed, quotaTotal, quotaRelative, quotaValue)); result.setData(data); } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); Loading Loading
src/com/owncloud/android/lib/resources/users/RemoteGetUserQuotaOperation.java +25 −3 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.owncloud.android.lib.common.utils.Log_OC; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.GetMethod; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; Loading @@ -47,14 +48,15 @@ import java.util.ArrayList; public class RemoteGetUserQuotaOperation extends RemoteOperation { static public class Quota { private long mFree, mUsed, mTotal; private long mFree, mUsed, mTotal, mQuota; private double mRelative; public Quota(long free, long used, long total, double relative) { public Quota(long free, long used, long total, double relative, long quota) { mFree = free; mUsed = used; mTotal = total; mRelative = relative; mQuota = quota; } public long getFree() { Loading @@ -69,6 +71,10 @@ public class RemoteGetUserQuotaOperation extends RemoteOperation { return mTotal; } public long getQuota() { return mQuota; } public double getRelative() { return mRelative; } Loading @@ -84,6 +90,15 @@ public class RemoteGetUserQuotaOperation extends RemoteOperation { private static final String NODE_QUOTA_TOTAL = "total"; private static final String NODE_QUOTA_RELATIVE = "relative"; /** Quota return value for a not computed space value. */ public static final long SPACE_NOT_COMPUTED = -1; /** Quota return value for unknown space value. */ public static final long SPACE_UNKNOWN = -2; /** Quota return value for unlimited space. */ public static final long SPACE_UNLIMITED = -3; // OCS Route private static final String OCS_ROUTE = "/ocs/v1.php/cloud/users/"; Loading Loading @@ -113,13 +128,20 @@ public class RemoteGetUserQuotaOperation extends RemoteOperation { final Long quotaFree = quota.getLong(NODE_QUOTA_FREE); final Long quotaUsed = quota.getLong(NODE_QUOTA_USED); final Long quotaTotal = quota.getLong(NODE_QUOTA_TOTAL); Long quotaValue; try { quotaValue = Long.valueOf(quota.getLong(NODE_QUOTA)); } catch (JSONException e) { // quota value only present in NC 9.0.54+ quotaValue = SPACE_UNKNOWN; } final Double quotaRelative = quota.getDouble(NODE_QUOTA_RELATIVE); // Result result = new RemoteOperationResult(true, status, get.getResponseHeaders()); // Quota data in data collection ArrayList<Object> data = new ArrayList<>(); data.add(new Quota(quotaFree, quotaUsed, quotaTotal, quotaRelative)); data.add(new Quota(quotaFree, quotaUsed, quotaTotal, quotaRelative, quotaValue)); result.setData(data); } else { result = new RemoteOperationResult(false, status, get.getResponseHeaders()); Loading