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