blob: 3f402d3179f2e11c15c20fb340df92aace0ee4a0 [file] [log] [blame]
/*
* Copyright (C) 2017 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.simulator.impl;
import android.content.Context;
import android.provider.VoicemailContract.Voicemails;
import android.support.annotation.NonNull;
import android.view.ActionProvider;
import com.android.dialer.common.LogUtil;
import com.android.dialer.databasepopulator.VoicemailPopulator;
import java.util.concurrent.TimeUnit;
/** Implements the simulator submenu. */
final class SimulatorNotifications {
private static final int NOTIFICATION_COUNT = 12;
static ActionProvider getActionProvider(@NonNull Context context) {
return new SimulatorSubMenu(context)
.addItem(
"Missed calls", () -> new SimulatorMissedCallCreator(context).start(NOTIFICATION_COUNT))
.addItem("Voicemails", () -> addVoicemailNotifications(context))
.addItem(
"Non spam",
() ->
new SimulatorSpamCallCreator(context, false /* isSpam */).start(NOTIFICATION_COUNT))
.addItem(
"Confirm spam",
() ->
new SimulatorSpamCallCreator(context, true /* isSpam */).start(NOTIFICATION_COUNT));
}
private static void addVoicemailNotifications(@NonNull Context context) {
LogUtil.enterBlock("SimulatorNotifications.addVoicemailNotifications");
for (int i = NOTIFICATION_COUNT; i > 0; i--) {
VoicemailPopulator.Voicemail voicemail =
VoicemailPopulator.Voicemail.builder()
.setPhoneNumber(String.format("+%d", i))
.setTranscription(String.format("Short transcript %d", i))
.setDurationSeconds(60)
.setIsRead(false)
.setTimeMillis(System.currentTimeMillis() - TimeUnit.HOURS.toMillis(i))
.build();
context
.getContentResolver()
.insert(
Voicemails.buildSourceUri(context.getPackageName()),
voicemail.getAsContentValues(context));
}
}
}