blob: 8798c21273206c78b666d3efa603ed14a1f7f420 [file] [log] [blame]
/*
* Copyright (C) 2018 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.notification.missedcalls;
import android.content.Context;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import com.android.dialer.common.LogUtil;
import com.android.dialer.notification.DialerNotificationManager;
import com.android.dialer.notification.NotificationManagerUtils;
/** Cancels missed calls notifications. */
public final class MissedCallNotificationCanceller {
/** Cancels all missed call notifications. */
public static void cancelAll(@NonNull Context context) {
NotificationManagerUtils.cancelAllInGroup(context, MissedCallConstants.GROUP_KEY);
}
/** Cancels a missed call notification for a single call. */
public static void cancelSingle(@NonNull Context context, @Nullable Uri callUri) {
if (callUri == null) {
LogUtil.e(
"MissedCallNotificationCanceller.cancelSingle",
"unable to cancel notification, uri is null");
return;
}
// This will also dismiss the group summary if there are no more missed call notifications.
DialerNotificationManager.cancel(
context,
MissedCallNotificationTags.getNotificationTagForCallUri(callUri),
MissedCallConstants.NOTIFICATION_ID);
}
}