Loading src/com/owncloud/android/lib/common/operations/RemoteOperationResult.java +2 −1 Original line number Diff line number Diff line Loading @@ -122,7 +122,8 @@ public class RemoteOperationResult implements Serializable { NOT_AVAILABLE, MAINTENANCE_MODE, LOCK_FAILED, DELAYED_IN_POWER_SAVE_MODE DELAYED_IN_POWER_SAVE_MODE, ACCOUNT_USES_STANDARD_PASSWORD } private boolean mSuccess = false; Loading src/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java +16 −2 Original line number Diff line number Diff line Loading @@ -55,10 +55,12 @@ public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperat // JSON Node names private static final String NODE_OCS = "ocs"; private static final String NODE_DATA = "data"; private static final String MESSAGE = "message"; private static final String PUSH_TOKEN_HASH = "pushTokenHash"; private static final String DEVICE_PUBLIC_KEY = "devicePublicKey"; private static final String PROXY_SERVER = "proxyServer"; private static final String INVALID_SESSION_TOKEN = "INVALID_SESSION_TOKEN"; private String pushTokenHash; private String devicePublicKey; Loading Loading @@ -100,9 +102,13 @@ public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperat // Parse the response pushResponse = parseResult(response); result.setPushResponseData(pushResponse); } else { if (isInvalidSessionToken(response)) { result = new RemoteOperationResult(RemoteOperationResult.ResultCode.ACCOUNT_USES_STANDARD_PASSWORD); } else { result = new RemoteOperationResult(false, status, post.getResponseHeaders()); } } } catch (Exception e) { result = new RemoteOperationResult(e); Loading @@ -127,6 +133,14 @@ public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperat return gson.fromJson(jsonDataObject, pushResponseType); } private boolean isInvalidSessionToken(String response) { JsonParser jsonParser = new JsonParser(); JsonObject jsonObject = (JsonObject)jsonParser.parse(response); String message = jsonObject.getAsJsonObject(NODE_OCS).getAsJsonObject(NODE_DATA).get(MESSAGE).getAsString(); return INVALID_SESSION_TOKEN.equals(message); } private boolean isSuccess(int status) { return (status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED); } Loading Loading
src/com/owncloud/android/lib/common/operations/RemoteOperationResult.java +2 −1 Original line number Diff line number Diff line Loading @@ -122,7 +122,8 @@ public class RemoteOperationResult implements Serializable { NOT_AVAILABLE, MAINTENANCE_MODE, LOCK_FAILED, DELAYED_IN_POWER_SAVE_MODE DELAYED_IN_POWER_SAVE_MODE, ACCOUNT_USES_STANDARD_PASSWORD } private boolean mSuccess = false; Loading
src/com/owncloud/android/lib/resources/notifications/RegisterAccountDeviceForNotificationsOperation.java +16 −2 Original line number Diff line number Diff line Loading @@ -55,10 +55,12 @@ public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperat // JSON Node names private static final String NODE_OCS = "ocs"; private static final String NODE_DATA = "data"; private static final String MESSAGE = "message"; private static final String PUSH_TOKEN_HASH = "pushTokenHash"; private static final String DEVICE_PUBLIC_KEY = "devicePublicKey"; private static final String PROXY_SERVER = "proxyServer"; private static final String INVALID_SESSION_TOKEN = "INVALID_SESSION_TOKEN"; private String pushTokenHash; private String devicePublicKey; Loading Loading @@ -100,9 +102,13 @@ public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperat // Parse the response pushResponse = parseResult(response); result.setPushResponseData(pushResponse); } else { if (isInvalidSessionToken(response)) { result = new RemoteOperationResult(RemoteOperationResult.ResultCode.ACCOUNT_USES_STANDARD_PASSWORD); } else { result = new RemoteOperationResult(false, status, post.getResponseHeaders()); } } } catch (Exception e) { result = new RemoteOperationResult(e); Loading @@ -127,6 +133,14 @@ public class RegisterAccountDeviceForNotificationsOperation extends RemoteOperat return gson.fromJson(jsonDataObject, pushResponseType); } private boolean isInvalidSessionToken(String response) { JsonParser jsonParser = new JsonParser(); JsonObject jsonObject = (JsonObject)jsonParser.parse(response); String message = jsonObject.getAsJsonObject(NODE_OCS).getAsJsonObject(NODE_DATA).get(MESSAGE).getAsString(); return INVALID_SESSION_TOKEN.equals(message); } private boolean isSuccess(int status) { return (status == HttpStatus.SC_OK || status == HttpStatus.SC_CREATED); } Loading