15d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro/*
25d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * Copyright (C) 2011 The Android Open Source Project
35d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro *
45d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * Licensed under the Apache License, Version 2.0 (the "License");
55d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * you may not use this file except in compliance with the License.
65d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * You may obtain a copy of the License at
75d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro *
85d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro *      http://www.apache.org/licenses/LICENSE-2.0
95d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro *
105d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * Unless required by applicable law or agreed to in writing, software
115d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * distributed under the License is distributed on an "AS IS" BASIS,
125d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * See the License for the specific language governing permissions and
145d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * limitations under the License.
155d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro */
165d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
175d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoropackage com.android.providers.contacts;
185d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
195d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoroimport android.content.Context;
205d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
215d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoroimport java.util.Locale;
225d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
235d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro/**
245d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro * A version of {@link ProfileProvider} that performs all operations synchronously.
255d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro */
265d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoropublic class SynchronousProfileProvider extends ProfileProvider {
275d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
28583b1364980fd46a5012825886af3160752ff19cMakoto Onuki    private static ProfileDatabaseHelper sDbHelper;
295d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
305d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    public SynchronousProfileProvider(ContactsProvider2 delegate) {
315d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro        super(delegate);
325d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    }
335d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
345d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    @Override
355d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    protected ProfileDatabaseHelper getDatabaseHelper(final Context context) {
36583b1364980fd46a5012825886af3160752ff19cMakoto Onuki        if (sDbHelper == null) {
37583b1364980fd46a5012825886af3160752ff19cMakoto Onuki            sDbHelper = ProfileDatabaseHelper.getNewInstanceForTest(context);
385d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro        }
39583b1364980fd46a5012825886af3160752ff19cMakoto Onuki        return sDbHelper;
405d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    }
415d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro
425d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    @Override
435d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    protected Locale getLocale() {
445d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro        return Locale.US;
455d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro    }
465d0a768b56ed4bd0dfef81b8389247ba74766659Dave Santoro}
47