SynchronousContactsProvider2.java revision 619871b0fb0175d75ff9336bfe5aec0b27b9bdad
1619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey/* 2619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * Copyright (C) 2009 The Android Open Source Project 3619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * 4619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License"); 5619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * you may not use this file except in compliance with the License. 6619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * You may obtain a copy of the License at 7619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * 8619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * http://www.apache.org/licenses/LICENSE-2.0 9619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * 10619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * Unless required by applicable law or agreed to in writing, software 11619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS, 12619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * See the License for the specific language governing permissions and 14619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * limitations under the License. 15619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey */ 16619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey 17619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkeypackage com.android.providers.contacts2; 18619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey 19619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey/** 20619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * A version of {@link ContactsProvider2} class that performs aggregation 21619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey * synchronously and wipes all data at construction time. 22619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey */ 23619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkeypublic class SynchronousContactsProvider2 extends ContactsProvider2 { 24619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey private static Boolean sDataWiped = false; 25619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey 26619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey public SynchronousContactsProvider2() { 27619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey super(false); 28619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey } 29619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey 30619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey @Override 31619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey public boolean onCreate() { 32619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey boolean created = super.onCreate(); 33619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey synchronized (sDataWiped) { 34619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey if (!sDataWiped) { 35619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey sDataWiped = true; 36619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey wipeData(); 37619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey } 38619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey } 39619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey return created; 40619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey } 41619871b0fb0175d75ff9336bfe5aec0b27b9bdadJeff Sharkey} 42