blob: 2920ca71130cd86ee3c4cc8f24cf3194cc88d030 [file] [log] [blame]
/*
* Copyright (C) 2015 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.server.telecom.testapps;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.telecom.Call;
import android.telecom.VideoProfile;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ListView;
import android.widget.Toast;
public class TestInCallUI extends Activity {
private ListView mListView;
private TestCallList mCallList;
/** ${inheritDoc} */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.incall_screen);
mListView = (ListView) findViewById(R.id.callListView);
mListView.setAdapter(new CallListAdapter(this));
mListView.setVisibility(View.VISIBLE);
mCallList = TestCallList.getInstance();
mCallList.addListener(new TestCallList.Listener() {
@Override
public void onCallRemoved(Call call) {
if (mCallList.size() == 0) {
Log.i(TestInCallUI.class.getSimpleName(), "Ending the incall UI");
finish();
}
}
@Override
public void onRttStarted(Call call) {
Toast.makeText(TestInCallUI.this, "RTT now enabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onRttStopped(Call call) {
Toast.makeText(TestInCallUI.this, "RTT now disabled", Toast.LENGTH_SHORT).show();
}
@Override
public void onRttInitiationFailed(Call call, int reason) {
Toast.makeText(TestInCallUI.this, String.format("RTT failed to init: %d", reason),
Toast.LENGTH_SHORT).show();
}
@Override
public void onRttRequest(Call call, int id) {
Toast.makeText(TestInCallUI.this, String.format("RTT request: %d", id),
Toast.LENGTH_SHORT).show();
}
});
View endCallButton = findViewById(R.id.end_call_button);
View holdButton = findViewById(R.id.hold_button);
View muteButton = findViewById(R.id.mute_button);
View rttIfaceButton = findViewById(R.id.rtt_iface_button);
View answerButton = findViewById(R.id.answer_button);
View startRttButton = findViewById(R.id.start_rtt_button);
View acceptRttButton = findViewById(R.id.accept_rtt_button);
endCallButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Call call = mCallList.getCall(0);
if (call != null) {
call.disconnect();
}
}
});
holdButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Call call = mCallList.getCall(0);
if (call != null) {
if (call.getState() == Call.STATE_HOLDING) {
call.unhold();
} else {
call.hold();
}
}
}
});
muteButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Call call = mCallList.getCall(0);
if (call != null) {
}
}
});
rttIfaceButton.setOnClickListener((view) -> {
Call call = mCallList.getCall(0);
if (call.isRttActive()) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClass(this, TestRttActivity.class);
startActivity(intent);
}
});
answerButton.setOnClickListener(view -> {
Call call = mCallList.getCall(0);
if (call.getState() == Call.STATE_RINGING) {
call.answer(VideoProfile.STATE_AUDIO_ONLY);
}
});
startRttButton.setOnClickListener(view -> {
Call call = mCallList.getCall(0);
if (!call.isRttActive()) {
call.sendRttRequest();
}
});
acceptRttButton.setOnClickListener(view -> {
Call call = mCallList.getCall(0);
if (!call.isRttActive()) {
call.respondToRttRequest(mCallList.getLastRttRequestId(), true);
}
});
}
/** ${inheritDoc} */
@Override
protected void onDestroy() {
super.onDestroy();
}
@Override
protected void onPause() {
super.onPause();
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
}
}