15c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa/*
25c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * Copyright (C) 2012 The Android Open Source Project
35c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa *
45c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License");
55c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * you may not use this file except in compliance with the License.
65c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * You may obtain a copy of the License at
75c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa *
85c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa *      http://www.apache.org/licenses/LICENSE-2.0
95c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa *
105c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software
115c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS,
125c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * See the License for the specific language governing permissions and
145c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * limitations under the License.
155c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa */
165c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa
175c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawapackage com.android.phone;
185c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa
195c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawaimport android.content.BroadcastReceiver;
205c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawaimport android.content.Context;
215c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawaimport android.content.Intent;
225c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawaimport android.os.SystemProperties;
235c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawaimport android.util.Log;
245c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa
255c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa/**
265c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * BroadcastReceiver responsible for (periodic) update of {@link CallerInfoCache}.
275c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa *
285c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * This broadcast can be sent from Contacts edit screen, implying relevant settings have changed
295c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa * and the cache may become obsolete.
305c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa */
315c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawapublic class CallerInfoCacheUpdateReceiver extends BroadcastReceiver {
325c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    private static final String LOG_TAG = CallerInfoCacheUpdateReceiver.class.getSimpleName();
335c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    private static final boolean DBG =
34a1a9601840e50e18ff8ca4be9b888e592287577bDianne Hackborn            (PhoneGlobals.DBG_LEVEL >= 1) && (SystemProperties.getInt("ro.debuggable", 0) == 1);
355c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa
365c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    public static final String ACTION_UPDATE_CALLER_INFO_CACHE =
375c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa            "com.android.phone.UPDATE_CALLER_INFO_CACHE";
385c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa
395c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    @Override
405c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    public void onReceive(Context context, Intent intent) {
415c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa        if (DBG) log("CallerInfoCacheUpdateReceiver#onReceive(). Intent: " + intent);
42a1a9601840e50e18ff8ca4be9b888e592287577bDianne Hackborn        PhoneGlobals.getInstance().callerInfoCache.startAsyncCache();
435c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    }
445c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa
455c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    private static void log(String msg) {
465c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa        Log.d(LOG_TAG, msg);
475c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa    }
485c7faf1ac57ecd1ef39145521c18807ae9e87342Daisuke Miyakawa}