mirror of https://github.com/NekoX-Dev/NekoX.git
124 lines
4.2 KiB
Java
124 lines
4.2 KiB
Java
/*
|
|
* This is the source code of Telegram for Android v. 1.2.3.
|
|
* It is licensed under GNU GPL v. 2 or later.
|
|
* You should have received a copy of the license in this archive (see LICENSE).
|
|
*
|
|
* Copyright Nikolai Kudashov, 2013.
|
|
*/
|
|
|
|
package org.telegram.messenger;
|
|
|
|
import android.accounts.AbstractAccountAuthenticator;
|
|
import android.accounts.Account;
|
|
import android.accounts.AccountAuthenticatorResponse;
|
|
import android.accounts.AccountManager;
|
|
import android.accounts.NetworkErrorException;
|
|
import android.app.Service;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.os.IBinder;
|
|
|
|
public class AuthenticatorService extends Service {
|
|
|
|
private static class Authenticator extends AbstractAccountAuthenticator {
|
|
private final Context context;
|
|
|
|
public Authenticator(Context context) {
|
|
super(context);
|
|
this.context = context;
|
|
}
|
|
|
|
@Override
|
|
public Bundle addAccount(AccountAuthenticatorResponse response, String accountType, String authTokenType, String[] requiredFeatures, Bundle options)
|
|
throws NetworkErrorException {
|
|
return null;
|
|
/*Log.e(TAG, "addAccount");
|
|
|
|
// check if an account already exists; we only allow one
|
|
QuillAccount account = new QuillAccount(context);
|
|
if (account.exists())
|
|
return null;
|
|
|
|
// ok, go ahead and create new account
|
|
Intent intent = new Intent(context, LoginActivity.class);
|
|
intent.setAction(LoginActivity.ACTION_LOGIN);
|
|
intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response);
|
|
Bundle reply = new Bundle();
|
|
reply.putParcelable(AccountManager.KEY_INTENT, intent);
|
|
return reply;*/
|
|
}
|
|
|
|
@Override
|
|
public Bundle getAccountRemovalAllowed(AccountAuthenticatorResponse response, Account account) throws NetworkErrorException {
|
|
Bundle result = super.getAccountRemovalAllowed(response, account);
|
|
|
|
/*if (result != null && result.containsKey(AccountManager.KEY_BOOLEAN_RESULT)
|
|
&& !result.containsKey(AccountManager.KEY_INTENT)) {
|
|
final boolean removalAllowed = result.getBoolean(AccountManager.KEY_BOOLEAN_RESULT);
|
|
|
|
if (removalAllowed) {
|
|
context.sendBroadcast(new Intent("com.stels.messenger.LOGOUT"));
|
|
//((StelsApplication) mContext.getApplicationContext()).dropLogin();
|
|
}
|
|
}*/
|
|
|
|
return result;
|
|
}
|
|
|
|
@Override
|
|
public Bundle confirmCredentials(AccountAuthenticatorResponse response, Account account, Bundle options) throws NetworkErrorException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle options)
|
|
throws NetworkErrorException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public String getAuthTokenLabel(String authTokenType) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public Bundle hasFeatures(AccountAuthenticatorResponse response,
|
|
Account account, String[] features)
|
|
throws NetworkErrorException {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public Bundle updateCredentials(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle options)
|
|
throws NetworkErrorException {
|
|
return null;
|
|
}
|
|
|
|
}
|
|
|
|
private static Authenticator authenticator = null;
|
|
|
|
protected Authenticator getAuthenticator() {
|
|
if (authenticator == null) {
|
|
authenticator = new Authenticator(this);
|
|
}
|
|
return authenticator;
|
|
}
|
|
|
|
|
|
@Override
|
|
public IBinder onBind(Intent intent) {
|
|
if (intent.getAction().equals(AccountManager.ACTION_AUTHENTICATOR_INTENT)) {
|
|
return getAuthenticator().getIBinder();
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
}
|