From 6aefc07a51b976b7f1a506ba5e5db815a3bf7b09 Mon Sep 17 00:00:00 2001 From: Kaartic Sivaraam Date: Sun, 12 May 2024 23:12:21 +0530 Subject: [PATCH] session: reuse removeAccount method for log out The removeAccount method takes care of invoking the non-deprecated API in applicable API levels. The logout method did not do such a thing. Avoid redundancy, and reuse the removeAccount method for logging out. --- .../fr/free/nrw/commons/auth/SessionManager.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java b/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java index d0ccf87ef..7c2f4a334 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java @@ -125,13 +125,15 @@ public class SessionManager { * Returns a Completable that clears existing accounts from account manager */ public Completable logout() { - AccountManager accountManager = AccountManager.get(context); - Account[] allAccounts = accountManager.getAccountsByType(BuildConfig.ACCOUNT_TYPE); - return Completable.fromObservable(Observable.fromArray(allAccounts) - .map(a -> accountManager.removeAccount(a, null, null).getResult())) - .doOnComplete(() -> { - currentAccount = null; - }); + return Completable.fromObservable( + Observable.empty() + .doOnComplete( + () -> { + removeAccount(); + currentAccount = null; + } + ) + ); } /**