187bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda/*
287bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * Copyright (C) 2011 The Android Open Source Project
387bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda *
487bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * Licensed under the Apache License, Version 2.0 (the "License");
587bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * you may not use this file except in compliance with the License.
687bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * You may obtain a copy of the License at
787bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda *
887bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda *      http://www.apache.org/licenses/LICENSE-2.0
987bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda *
1087bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * Unless required by applicable law or agreed to in writing, software
1187bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * distributed under the License is distributed on an "AS IS" BASIS,
1287bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1387bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * See the License for the specific language governing permissions and
1487bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * limitations under the License
1587bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda */
1687bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda
1787bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerdapackage com.android.contacts.calllog;
1887bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda
1987bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerdaimport android.content.BroadcastReceiver;
2087bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerdaimport android.content.Context;
2187bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerdaimport android.content.Intent;
22b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerdaimport android.provider.VoicemailContract;
23b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerdaimport android.util.Log;
2487bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda
2587bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda/**
26b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda * Receiver for call log events.
2787bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda * <p>
28b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda * It is currently used to handle {@link VoicemailContract#ACTION_NEW_VOICEMAIL} and
29b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda * {@link Intent#ACTION_BOOT_COMPLETED}.
3087bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda */
31b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerdapublic class CallLogReceiver extends BroadcastReceiver {
32b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda    private static final String TAG = "CallLogReceiver";
33b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda
3487bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda    @Override
3587bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda    public void onReceive(Context context, Intent intent) {
36b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda        if (VoicemailContract.ACTION_NEW_VOICEMAIL.equals(intent.getAction())) {
3760c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
3860c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            serviceIntent.setAction(CallLogNotificationsService.ACTION_UPDATE_NOTIFICATIONS);
3960c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            serviceIntent.putExtra(
4060c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda                    CallLogNotificationsService.EXTRA_NEW_VOICEMAIL_URI, intent.getData());
4160c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            context.startService(serviceIntent);
42b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda        } else if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
4360c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
4460c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            serviceIntent.setAction(CallLogNotificationsService.ACTION_UPDATE_NOTIFICATIONS);
4560c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            context.startService(serviceIntent);
46b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda        } else {
4760c1f788e39577cad5b74414e65d9bab7ca17574Flavio Lerda            Log.w(TAG, "onReceive: could not handle: " + intent);
48b78b7096618cd9c3c8db8e4a8e0ed684fe8b1b11Flavio Lerda        }
4987bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda    }
5087bd5360fcd0cc1f76f0e46a431a8c5152a9a7edFlavio Lerda}
51