mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-06-03 17:49:05 +00:00
56 lines
1.5 KiB
Java
56 lines
1.5 KiB
Java
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
package org.mozilla.goanna.fxa.authenticator;
|
|
|
|
import org.mozilla.goanna.background.common.log.Logger;
|
|
|
|
import android.app.Service;
|
|
import android.content.Intent;
|
|
import android.os.IBinder;
|
|
|
|
public class FxAccountAuthenticatorService extends Service {
|
|
public static final String LOG_TAG = FxAccountAuthenticatorService.class.getSimpleName();
|
|
|
|
// Lazily initialized by <code>getAuthenticator</code>.
|
|
protected FxAccountAuthenticator accountAuthenticator;
|
|
|
|
protected synchronized FxAccountAuthenticator getAuthenticator() {
|
|
if (accountAuthenticator == null) {
|
|
accountAuthenticator = new FxAccountAuthenticator(this);
|
|
}
|
|
|
|
return accountAuthenticator;
|
|
}
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
Logger.debug(LOG_TAG, "onCreate");
|
|
|
|
accountAuthenticator = getAuthenticator();
|
|
}
|
|
|
|
@Override
|
|
public IBinder onBind(Intent intent) {
|
|
Logger.debug(LOG_TAG, "onBind");
|
|
|
|
if (intent == null) {
|
|
// Should never happen, but can -- Bug 1025937.
|
|
return null;
|
|
}
|
|
|
|
if (!android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT.equals(intent.getAction())) {
|
|
return null;
|
|
}
|
|
|
|
final FxAccountAuthenticator authenticator = getAuthenticator();
|
|
if (authenticator == null) {
|
|
// Should never happen.
|
|
return null;
|
|
}
|
|
|
|
return authenticator.getIBinder();
|
|
}
|
|
}
|