Kotlin

Criação da interface

Para poder visualizar o status da conexão do aplicativo, você precisará adicionar um TextView visualização da tela. Você também adicionará botões para controlar a chamada (Atender, Rejeitar, Encerrar). Substitua o conteúdo de app/res/layout/activity_main.xml arquivo com o layout a seguir:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        tools:context=".MainActivity">

    <TextView
            android:id="@+id/connectionStatusTextView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            app:layout_constraintRight_toRightOf="parent" />

    <Button
            android:id="@+id/answerCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            android:text="Answer"
            android:visibility="gone"
            tools:visibility="visible" />

    <Button
            android:id="@+id/rejectCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            android:text="Reject"
            android:visibility="gone"
            tools:visibility="visible" />

    <Button
            android:id="@+id/endCallButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="40dp"
            android:text="End"
            android:visibility="gone"
            tools:visibility="visible" />

</LinearLayout>

Recuperar referências às visualizações

Você controlará a visualização por meio de código; portanto, as referências às visualizações devem ser armazenadas no MainActivity classe. Adicione essas propriedades no início do arquivo MainActivity classe:

private lateinit var connectionStatusTextView: TextView
private lateinit var answerCallButton: Button
private lateinit var rejectCallButton: Button
private lateinit var endCallButton: Button

Agora você precisa atribuir visualizações às propriedades adicionadas anteriormente. Adicione o código abaixo ao arquivo onCreate método interno MainActivity classe (código de solicitação de permissões abaixo):

// init views
connectionStatusTextView = findViewById(R.id.connectionStatusTextView)
answerCallButton = findViewById(R.id.answerCallButton)
rejectCallButton = findViewById(R.id.rejectCallButton)
endCallButton = findViewById(R.id.endCallButton)

Você irá preencher o corpo desses métodos nas próximas etapas deste tutorial.

Compilar e executar

Execute o projeto novamente (Ctrl + R).

Observe que os botões ficam ocultos por padrão:

Main screen

O status da conexão e os botões de controle de chamadas serão exibidos após o usuário fazer login. Você fará isso na etapa seguinte.