mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-27 12:53:55 +01:00
Fix lint issue: Missing permission
This commit is contained in:
parent
46f081d652
commit
da3895342b
1 changed files with 27 additions and 10 deletions
|
|
@ -1,12 +1,16 @@
|
||||||
package fr.free.nrw.commons.auth;
|
package fr.free.nrw.commons.auth;
|
||||||
|
|
||||||
|
import android.Manifest;
|
||||||
import android.accounts.Account;
|
import android.accounts.Account;
|
||||||
import android.accounts.AccountManager;
|
import android.accounts.AccountManager;
|
||||||
import android.accounts.AccountManagerFuture;
|
import android.accounts.AccountManagerFuture;
|
||||||
import android.accounts.AuthenticatorException;
|
import android.accounts.AuthenticatorException;
|
||||||
import android.accounts.OperationCanceledException;
|
import android.accounts.OperationCanceledException;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.ActivityCompat;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
@ -28,6 +32,7 @@ public abstract class AuthenticatedActivity extends AppCompatActivity {
|
||||||
private class GetAuthCookieTask extends AsyncTask<Void, String, String> {
|
private class GetAuthCookieTask extends AsyncTask<Void, String, String> {
|
||||||
private Account account;
|
private Account account;
|
||||||
private AccountManager accountManager;
|
private AccountManager accountManager;
|
||||||
|
|
||||||
public GetAuthCookieTask(Account account, AccountManager accountManager) {
|
public GetAuthCookieTask(Account account, AccountManager accountManager) {
|
||||||
this.account = account;
|
this.account = account;
|
||||||
this.accountManager = accountManager;
|
this.accountManager = accountManager;
|
||||||
|
|
@ -63,6 +68,7 @@ public abstract class AuthenticatedActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private class AddAccountTask extends AsyncTask<Void, String, String> {
|
private class AddAccountTask extends AsyncTask<Void, String, String> {
|
||||||
private AccountManager accountManager;
|
private AccountManager accountManager;
|
||||||
|
|
||||||
public AddAccountTask(AccountManager accountManager) {
|
public AddAccountTask(AccountManager accountManager) {
|
||||||
this.accountManager = accountManager;
|
this.accountManager = accountManager;
|
||||||
}
|
}
|
||||||
|
|
@ -71,8 +77,7 @@ public abstract class AuthenticatedActivity extends AppCompatActivity {
|
||||||
protected void onPostExecute(String result) {
|
protected void onPostExecute(String result) {
|
||||||
super.onPostExecute(result);
|
super.onPostExecute(result);
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
Account[] allAccounts =accountManager.getAccountsByType(accountType);
|
Account curAccount = getCurrentAccount();
|
||||||
Account curAccount = allAccounts[0];
|
|
||||||
GetAuthCookieTask getCookieTask = new GetAuthCookieTask(curAccount, accountManager);
|
GetAuthCookieTask getCookieTask = new GetAuthCookieTask(curAccount, accountManager);
|
||||||
getCookieTask.execute();
|
getCookieTask.execute();
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -80,6 +85,18 @@ public abstract class AuthenticatedActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private Account getCurrentAccount() {
|
||||||
|
if (ActivityCompat.checkSelfPermission(AuthenticatedActivity.this, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
Account[] allAccounts = accountManager.getAccountsByType(accountType);
|
||||||
|
if (allAccounts == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return allAccounts[0];
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String doInBackground(Void... params) {
|
protected String doInBackground(Void... params) {
|
||||||
AccountManagerFuture<Bundle> resultFuture = accountManager.addAccount(accountType, null, null, null, AuthenticatedActivity.this, null, null);
|
AccountManagerFuture<Bundle> resultFuture = accountManager.addAccount(accountType, null, null, null, AuthenticatedActivity.this, null, null);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue