summaryrefslogtreecommitdiff
path: root/src/com/android/dialer/calllog/CallLogNotificationsService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/dialer/calllog/CallLogNotificationsService.java')
-rw-r--r--src/com/android/dialer/calllog/CallLogNotificationsService.java194
1 files changed, 0 insertions, 194 deletions
diff --git a/src/com/android/dialer/calllog/CallLogNotificationsService.java b/src/com/android/dialer/calllog/CallLogNotificationsService.java
deleted file mode 100644
index 4ff9576ca..000000000
--- a/src/com/android/dialer/calllog/CallLogNotificationsService.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dialer.calllog;
-
-import android.app.IntentService;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.util.Log;
-
-import com.android.contacts.common.util.PermissionsUtil;
-import com.android.dialer.util.TelecomUtil;
-
-/**
- * Provides operations for managing call-related notifications.
- * <p>
- * It handles the following actions:
- * <ul>
- * <li>Updating voicemail notifications</li>
- * <li>Marking new voicemails as old</li>
- * <li>Updating missed call notifications</li>
- * <li>Marking new missed calls as old</li>
- * <li>Calling back from a missed call</li>
- * <li>Sending an SMS from a missed call</li>
- * </ul>
- */
-public class CallLogNotificationsService extends IntentService {
- private static final String TAG = "CallLogNotificationsService";
-
- /** Action to mark all the new voicemails as old. */
- public static final String ACTION_MARK_NEW_VOICEMAILS_AS_OLD =
- "com.android.dialer.calllog.ACTION_MARK_NEW_VOICEMAILS_AS_OLD";
-
- /**
- * Action to update voicemail notifications.
- * <p>
- * May include an optional extra {@link #EXTRA_NEW_VOICEMAIL_URI}.
- */
- public static final String ACTION_UPDATE_VOICEMAIL_NOTIFICATIONS =
- "com.android.dialer.calllog.UPDATE_VOICEMAIL_NOTIFICATIONS";
-
- /**
- * Extra to included with {@link #ACTION_UPDATE_VOICEMAIL_NOTIFICATIONS} to identify the new
- * voicemail that triggered an update.
- * <p>
- * It must be a {@link Uri}.
- */
- public static final String EXTRA_NEW_VOICEMAIL_URI = "NEW_VOICEMAIL_URI";
-
- /**
- * Action to update the missed call notifications.
- * <p>
- * Includes optional extras {@link #EXTRA_MISSED_CALL_NUMBER} and
- * {@link #EXTRA_MISSED_CALL_COUNT}.
- */
- public static final String ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS =
- "com.android.dialer.calllog.UPDATE_MISSED_CALL_NOTIFICATIONS";
-
- /** Action to mark all the new missed calls as old. */
- public static final String ACTION_MARK_NEW_MISSED_CALLS_AS_OLD =
- "com.android.dialer.calllog.ACTION_MARK_NEW_MISSED_CALLS_AS_OLD";
-
- /** Action to call back a missed call. */
- public static final String ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION =
- "com.android.dialer.calllog.CALL_BACK_FROM_MISSED_CALL_NOTIFICATION";
-
- public static final String ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION =
- "com.android.dialer.calllog.SEND_SMS_FROM_MISSED_CALL_NOTIFICATION";
-
- /**
- * Extra to be included with {@link #ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS},
- * {@link #ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION} and
- * {@link #ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION} to identify the number to display,
- * call or text back.
- * <p>
- * It must be a {@link String}.
- */
- public static final String EXTRA_MISSED_CALL_NUMBER = "MISSED_CALL_NUMBER";
-
- /**
- * Extra to be included with {@link #ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS} to represent the
- * number of missed calls.
- * <p>
- * It must be a {@link Integer}
- */
- public static final String EXTRA_MISSED_CALL_COUNT =
- "MISSED_CALL_COUNT";
-
- public static final int UNKNOWN_MISSED_CALL_COUNT = -1;
-
- private VoicemailQueryHandler mVoicemailQueryHandler;
-
- public CallLogNotificationsService() {
- super("CallLogNotificationsService");
- }
-
- @Override
- protected void onHandleIntent(Intent intent) {
- if (intent == null) {
- Log.d(TAG, "onHandleIntent: could not handle null intent");
- return;
- }
-
- if (!PermissionsUtil.hasPermission(this, android.Manifest.permission.READ_CALL_LOG)) {
- return;
- }
-
- String action = intent.getAction();
- switch (action) {
- case ACTION_MARK_NEW_VOICEMAILS_AS_OLD:
- if (mVoicemailQueryHandler == null) {
- mVoicemailQueryHandler = new VoicemailQueryHandler(this, getContentResolver());
- }
- mVoicemailQueryHandler.markNewVoicemailsAsOld();
- break;
- case ACTION_UPDATE_VOICEMAIL_NOTIFICATIONS:
- Uri voicemailUri = (Uri) intent.getParcelableExtra(EXTRA_NEW_VOICEMAIL_URI);
- DefaultVoicemailNotifier.getInstance(this).updateNotification(voicemailUri);
- break;
- case ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS:
- int count = intent.getIntExtra(EXTRA_MISSED_CALL_COUNT,
- UNKNOWN_MISSED_CALL_COUNT);
- String number = intent.getStringExtra(EXTRA_MISSED_CALL_NUMBER);
- MissedCallNotifier.getInstance(this).updateMissedCallNotification(count, number);
- break;
- case ACTION_MARK_NEW_MISSED_CALLS_AS_OLD:
- CallLogNotificationsHelper.removeMissedCallNotifications(this);
- break;
- case ACTION_CALL_BACK_FROM_MISSED_CALL_NOTIFICATION:
- MissedCallNotifier.getInstance(this).callBackFromMissedCall(
- intent.getStringExtra(EXTRA_MISSED_CALL_NUMBER));
- break;
- case ACTION_SEND_SMS_FROM_MISSED_CALL_NOTIFICATION:
- MissedCallNotifier.getInstance(this).sendSmsFromMissedCall(
- intent.getStringExtra(EXTRA_MISSED_CALL_NUMBER));
- break;
- default:
- Log.d(TAG, "onHandleIntent: could not handle: " + intent);
- break;
- }
- }
-
- /**
- * Updates notifications for any new voicemails.
- *
- * @param context a valid context.
- * @param voicemailUri The uri pointing to the voicemail to update the notification for. If
- * {@code null}, then notifications for all new voicemails will be updated.
- */
- public static void updateVoicemailNotifications(Context context, Uri voicemailUri) {
- if (TelecomUtil.hasReadWriteVoicemailPermissions(context)) {
- Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
- serviceIntent.setAction(
- CallLogNotificationsService.ACTION_UPDATE_VOICEMAIL_NOTIFICATIONS);
- // If voicemailUri is null, then notifications for all voicemails will be updated.
- if (voicemailUri != null) {
- serviceIntent.putExtra(
- CallLogNotificationsService.EXTRA_NEW_VOICEMAIL_URI, voicemailUri);
- }
- context.startService(serviceIntent);
- }
- }
-
- /**
- * Updates notifications for any new missed calls.
- *
- * @param context A valid context.
- * @param count The number of new missed calls.
- * @param number The phone number of the newest missed call.
- */
- public static void updateMissedCallNotifications(Context context, int count,
- String number) {
- Intent serviceIntent = new Intent(context, CallLogNotificationsService.class);
- serviceIntent.setAction(
- CallLogNotificationsService.ACTION_UPDATE_MISSED_CALL_NOTIFICATIONS);
- serviceIntent.putExtra(EXTRA_MISSED_CALL_COUNT, count);
- serviceIntent.putExtra(EXTRA_MISSED_CALL_NUMBER, number);
- context.startService(serviceIntent);
- }
-}