diff -r 000000000000 -r 6474c204b198 mobile/android/base/fxa/authenticator/FxAccountAuthenticatorService.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobile/android/base/fxa/authenticator/FxAccountAuthenticatorService.java Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,44 @@ +/* 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.gecko.fxa.authenticator; + +import org.mozilla.gecko.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 getAuthenticator. + protected FxAccountAuthenticator accountAuthenticator = null; + + protected 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.getAction().equals(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT)) { + return getAuthenticator().getIBinder(); + } + + return null; + } +}