/* * Copyright © 2013 – 2015 Ricki Hirner (bitfire web engineering). * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html */ package at.bitfire.davdroid.syncadapter; import android.accounts.Account; import android.app.Service; import android.content.AbstractThreadedSyncAdapter; import android.content.ContentProviderClient; import android.content.Context; import android.content.Intent; import android.content.SyncResult; import android.os.Bundle; import android.os.IBinder; import at.bitfire.davdroid.Constants; public class ContactsSyncAdapterService extends Service { private static ContactsSyncAdapter syncAdapter; @Override public void onCreate() { if (syncAdapter == null) syncAdapter = new ContactsSyncAdapter(getApplicationContext()); } @Override public void onDestroy() { syncAdapter = null; } @Override public IBinder onBind(Intent intent) { return syncAdapter.getSyncAdapterBinder(); } private static class ContactsSyncAdapter extends AbstractThreadedSyncAdapter { public ContactsSyncAdapter(Context context) { super(context, false); } @Override public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) { Constants.log.info("Starting address book sync (" + authority + ")"); ContactsSyncManager syncManager = new ContactsSyncManager(getContext(), account, extras, provider, syncResult); syncManager.performSync(); Constants.log.info("Address book sync complete"); } } }