mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 12:53:55 +01:00
Simplify GetAuthCookie task
This commit is contained in:
parent
44844e9f75
commit
6b80bec3c9
1 changed files with 14 additions and 39 deletions
|
|
@ -12,6 +12,9 @@ import java.io.IOException;
|
||||||
|
|
||||||
import fr.free.nrw.commons.CommonsApplication;
|
import fr.free.nrw.commons.CommonsApplication;
|
||||||
import fr.free.nrw.commons.theme.NavigationBaseActivity;
|
import fr.free.nrw.commons.theme.NavigationBaseActivity;
|
||||||
|
import io.reactivex.Single;
|
||||||
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
|
import io.reactivex.schedulers.Schedulers;
|
||||||
import timber.log.Timber;
|
import timber.log.Timber;
|
||||||
|
|
||||||
public abstract class AuthenticatedActivity extends NavigationBaseActivity {
|
public abstract class AuthenticatedActivity extends NavigationBaseActivity {
|
||||||
|
|
@ -25,40 +28,14 @@ public abstract class AuthenticatedActivity extends NavigationBaseActivity {
|
||||||
this.accountType = AccountUtil.accountType();
|
this.accountType = AccountUtil.accountType();
|
||||||
}
|
}
|
||||||
|
|
||||||
private class GetAuthCookieTask extends AsyncTask<Void, String, String> {
|
private void getAuthCookie(Account account, AccountManager accountManager) {
|
||||||
private Account account;
|
Single.fromCallable(() -> accountManager.blockingGetAuthToken(account, "", false))
|
||||||
private AccountManager accountManager;
|
.subscribeOn(Schedulers.io())
|
||||||
public GetAuthCookieTask(Account account, AccountManager accountManager) {
|
.doOnError(Timber::e)
|
||||||
this.account = account;
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
this.accountManager = accountManager;
|
.subscribe(
|
||||||
}
|
cookie -> onAuthCookieAcquired(cookie),
|
||||||
|
throwable -> onAuthFailure());
|
||||||
@Override
|
|
||||||
protected void onPostExecute(String result) {
|
|
||||||
super.onPostExecute(result);
|
|
||||||
if(result != null) {
|
|
||||||
authCookie = result;
|
|
||||||
onAuthCookieAcquired(result);
|
|
||||||
} else {
|
|
||||||
onAuthFailure();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String doInBackground(Void... params) {
|
|
||||||
try {
|
|
||||||
return accountManager.blockingGetAuthToken(account, "", false);
|
|
||||||
} catch (OperationCanceledException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
} catch (AuthenticatorException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private class AddAccountTask extends AsyncTask<Void, String, String> {
|
private class AddAccountTask extends AsyncTask<Void, String, String> {
|
||||||
|
|
@ -73,8 +50,7 @@ public abstract class AuthenticatedActivity extends NavigationBaseActivity {
|
||||||
if(result != null) {
|
if(result != null) {
|
||||||
Account[] allAccounts = accountManager.getAccountsByType(accountType);
|
Account[] allAccounts = accountManager.getAccountsByType(accountType);
|
||||||
Account curAccount = allAccounts[0];
|
Account curAccount = allAccounts[0];
|
||||||
GetAuthCookieTask getCookieTask = new GetAuthCookieTask(curAccount, accountManager);
|
getAuthCookie(curAccount, accountManager);
|
||||||
getCookieTask.execute();
|
|
||||||
} else {
|
} else {
|
||||||
onAuthFailure();
|
onAuthFailure();
|
||||||
}
|
}
|
||||||
|
|
@ -124,8 +100,7 @@ public abstract class AuthenticatedActivity extends NavigationBaseActivity {
|
||||||
// See: https://groups.google.com/forum/?fromgroups=#!topic/android-developers/8M0RTFfO7-M
|
// See: https://groups.google.com/forum/?fromgroups=#!topic/android-developers/8M0RTFfO7-M
|
||||||
addAccountTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
addAccountTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
} else {
|
} else {
|
||||||
GetAuthCookieTask task = new GetAuthCookieTask(curAccount, accountManager);
|
getAuthCookie(curAccount, accountManager);
|
||||||
task.execute();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue