Skip to content

Commit 3c2b395

Browse files
author
Joe Hansche
committed
Add support for sessionToken in "connect" and "subscribe" operations
1 parent 894250c commit 3c2b395

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

ParseLiveQuery/src/main/java/com/parse/ParseLiveQueryClientImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,8 @@ private Subscription<T> subscriptionForRequestId(int requestId) {
224224
}
225225

226226
private void sendSubscription(Subscription<T> subscription) {
227-
sendOperationAsync(new SubscribeClientOperation<>(subscription.getRequestId(), subscription.getQueryState()));
227+
String sessionToken = ParseUser.getCurrentSessionToken();
228+
sendOperationAsync(new SubscribeClientOperation<>(subscription.getRequestId(), subscription.getQueryState(), sessionToken));
228229
}
229230

230231
private void sendUnsubscription(Subscription subscription) {
@@ -236,7 +237,8 @@ private WebSocketClient.WebSocketClientCallback getWebSocketClientCallback() {
236237
@Override
237238
public void onOpen() {
238239
Log.v(LOG_TAG, "Socket opened");
239-
sendOperationAsync(new ConnectClientOperation(applicationId, "")).continueWith(new Continuation<Void, Void>() {
240+
String sessionToken = ParseUser.getCurrentSessionToken();
241+
sendOperationAsync(new ConnectClientOperation(applicationId, sessionToken)).continueWith(new Continuation<Void, Void>() {
240242
public Void then(Task<Void> task) {
241243
Exception error = task.getError();
242244
if (error != null) {

ParseLiveQuery/src/main/java/com/parse/SubscribeClientOperation.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@
77

88
private final int requestId;
99
private final ParseQuery.State<T> state;
10+
private final String sessionToken;
1011

11-
/* package */ SubscribeClientOperation(int requestId, final ParseQuery.State<T> state) {
12+
/* package */ SubscribeClientOperation(int requestId, ParseQuery.State<T> state, String sessionToken) {
1213
this.requestId = requestId;
1314
this.state = state;
15+
this.sessionToken = sessionToken;
1416
}
1517

1618
@Override
1719
/* package */ JSONObject getJSONObjectRepresentation() throws JSONException {
1820
JSONObject jsonObject = new JSONObject();
1921
jsonObject.put("op", "subscribe");
2022
jsonObject.put("requestId", requestId);
23+
if (sessionToken != null) jsonObject.put("sessionToken", sessionToken);
2124

2225
JSONObject queryJsonObject = state.toJSON(NoObjectsEncoder.get());
2326

0 commit comments

Comments
 (0)