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