1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License
15  */
16 
17 package com.android.dialer.simulator.impl;
18 
19 import android.content.Context;
20 import android.os.Bundle;
21 import android.support.annotation.NonNull;
22 import android.telecom.TelecomManager;
23 import android.telephony.TelephonyManager;
24 import com.android.dialer.common.Assert;
25 import com.android.dialer.common.LogUtil;
26 
27 /** Utilities to simulate phone calls. */
28 final class SimulatorVoiceCall {
addNewIncomingCall(@onNull Context context)29   public static void addNewIncomingCall(@NonNull Context context) {
30     LogUtil.enterBlock("SimulatorVoiceCall.addNewIncomingCall");
31     SimulatorConnectionService.register(context);
32 
33     Bundle bundle = new Bundle();
34     // Set the caller ID to the Google London office.
35     bundle.putString(TelephonyManager.EXTRA_INCOMING_NUMBER, "+44 (0) 20 7031 3000");
36     try {
37       context
38           .getSystemService(TelecomManager.class)
39           .addNewIncomingCall(
40               SimulatorConnectionService.getConnectionServiceHandle(context), bundle);
41     } catch (SecurityException e) {
42       Assert.fail("unable to add call: " + e);
43     }
44   }
45 
SimulatorVoiceCall()46   private SimulatorVoiceCall() {}
47 }
48