Skip to content
This repository was archived by the owner on Mar 19, 2024. It is now read-only.

Commit 8a8a931

Browse files
authored
Merge pull request #534 from owncloud/release/2.0.2
[Release] 2.0.2
2 parents 00948ff + 148a97c commit 8a8a931

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

owncloudComLibrary/src/main/java/com/owncloud/android/lib/common/SingleSessionManager.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131

3232
import com.owncloud.android.lib.common.accounts.AccountUtils;
3333
import com.owncloud.android.lib.common.authentication.OwnCloudCredentials;
34-
import com.owncloud.android.lib.common.http.HttpClient;
3534
import timber.log.Timber;
3635

3736
import java.io.IOException;
@@ -124,6 +123,24 @@ public OwnCloudClient getClientFor(OwnCloudAccount account,
124123
}
125124
} else {
126125
Timber.v("reusing client for account %s", accountName);
126+
if (client.getAccount() != null &&
127+
client.getAccount().getCredentials() != null &&
128+
(client.getAccount().getCredentials().getAuthToken() == null || client.getAccount().getCredentials().getAuthToken().isEmpty())
129+
) {
130+
Timber.i("Client " + client.getAccount().getName() + " needs to refresh credentials");
131+
132+
//the next two lines are a hack because okHttpclient is used as a singleton instead of being an
133+
//injected instance that can be deleted when required
134+
client.clearCookies();
135+
client.clearCredentials();
136+
137+
client.setAccount(account);
138+
139+
account.loadCredentials(context);
140+
client.setCredentials(account.getCredentials());
141+
142+
Timber.i("Client " + account.getName() + " with credentials size" + client.getAccount().getCredentials().getAuthToken().length());
143+
}
127144
reusingKnown = true;
128145
}
129146

0 commit comments

Comments
 (0)