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