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