153fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov/* 253fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * Copyright (C) 2010 The Android Open Source Project 353fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * 453fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * Licensed under the Apache License, Version 2.0 (the "License"); 553fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * you may not use this file except in compliance with the License. 653fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * You may obtain a copy of the License at 753fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * 853fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * http://www.apache.org/licenses/LICENSE-2.0 953fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * 1053fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * Unless required by applicable law or agreed to in writing, software 1153fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * distributed under the License is distributed on an "AS IS" BASIS, 1253fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1353fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * See the License for the specific language governing permissions and 1453fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * limitations under the License 1553fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov */ 1653fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov 1753fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovpackage com.android.providers.contacts; 1853fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov 1953fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovimport android.content.BroadcastReceiver; 2053fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovimport android.content.ContentProvider; 2153fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovimport android.content.Context; 2253fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovimport android.content.IContentProvider; 2353fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovimport android.content.Intent; 2453fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovimport android.provider.ContactsContract; 2553fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov 2653fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov/** 2753fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * Locale change intent receiver that invokes {@link ContactsProvider2#onLocaleChanged} to update 2853fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov * the database for the new locale. 2953fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov */ 3053fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikovpublic class LocaleChangeReceiver extends BroadcastReceiver { 3153fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov 3253fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov @Override 3353fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov public void onReceive(Context context, Intent intent) { 3453fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov IContentProvider iprovider = 3553fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov context.getContentResolver().acquireProvider(ContactsContract.AUTHORITY); 3653fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov ContentProvider provider = ContentProvider.coerceToLocalContentProvider(iprovider); 3753fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov if (provider instanceof ContactsProvider2) { 3853fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov ((ContactsProvider2)provider).onLocaleChanged(); 3953fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov } 4053fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov } 4153fac8f99f3884c372c907a76766d27fa9e1d95fDmitri Plotnikov} 42