161b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn/* 261b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * Copyright (C) 2014 The Android Open Source Project 361b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * 461b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * Licensed under the Apache License, Version 2.0 (the "License"); 561b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * you may not use this file except in compliance with the License. 661b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * You may obtain a copy of the License at 761b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * 861b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * http://www.apache.org/licenses/LICENSE-2.0 961b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * 1061b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * Unless required by applicable law or agreed to in writing, software 1161b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * distributed under the License is distributed on an "AS IS" BASIS, 1261b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1361b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * See the License for the specific language governing permissions and 1461b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * limitations under the License 1561b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn */ 1661b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 177cc70b4f0ad1064a4a0dce6056ad82b205887160Tyler Gunnpackage com.android.server.telecom.testapps; 1861b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 19633963ebba74f464cf134683ed985f8b237660ccTyler Gunnimport android.telecom.Call; 207cc70b4f0ad1064a4a0dce6056ad82b205887160Tyler Gunnimport android.telecom.InCallService; 217cc70b4f0ad1064a4a0dce6056ad82b205887160Tyler Gunnimport android.telecom.Phone; 2261b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunnimport android.util.Log; 2361b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 2461b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunnimport java.lang.Override; 2561b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunnimport java.lang.String; 2661b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 2761b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn/** 2861b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * Test In-Call service implementation. Logs incoming events. Mainly used to test binding to 2961b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn * multiple {@link InCallService} implementations. 3061b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn */ 3161b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunnpublic class TestInCallServiceImpl extends InCallService { 3261b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn private static final String TAG = "TestInCallServiceImpl"; 3361b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 3461b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn private Phone mPhone; 3561b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 3661b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn private Phone.Listener mPhoneListener = new Phone.Listener() { 3761b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn @Override 38633963ebba74f464cf134683ed985f8b237660ccTyler Gunn public void onCallAdded(Phone phone, Call call) { 39633963ebba74f464cf134683ed985f8b237660ccTyler Gunn Log.i(TAG, "onCallAdded: " + call.toString()); 40633963ebba74f464cf134683ed985f8b237660ccTyler Gunn TestCallList.getInstance().addCall(call); 4161b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn } 42633963ebba74f464cf134683ed985f8b237660ccTyler Gunn 4361b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn @Override 44633963ebba74f464cf134683ed985f8b237660ccTyler Gunn public void onCallRemoved(Phone phone, Call call) { 4561b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn Log.i(TAG, "onCallRemoved: "+call.toString()); 46633963ebba74f464cf134683ed985f8b237660ccTyler Gunn TestCallList.getInstance().removeCall(call); 4761b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn } 4861b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn }; 4961b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 5061b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn @Override 5161b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn public void onPhoneCreated(Phone phone) { 5261b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn Log.i(TAG, "onPhoneCreated"); 5361b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn mPhone = phone; 5461b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn mPhone.addListener(mPhoneListener); 55633963ebba74f464cf134683ed985f8b237660ccTyler Gunn TestCallList.getInstance().clearCalls(); 5661b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn } 5761b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn 5861b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn @Override 5961b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn public void onPhoneDestroyed(Phone phone) { 6061b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn Log.i(TAG, "onPhoneDestroyed"); 6161b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn mPhone.removeListener(mPhoneListener); 6261b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn mPhone = null; 63633963ebba74f464cf134683ed985f8b237660ccTyler Gunn TestCallList.getInstance().clearCalls(); 6461b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn } 6561b9210e5757db0cb49424fe917be0f788ea2218Tyler Gunn} 66