Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.sinch.android.rtc.sample.messaging;
- import com.sinch.android.rtc.PushPair;
- import com.sinch.android.rtc.messaging.Message;
- import com.sinch.android.rtc.messaging.MessageClient;
- import com.sinch.android.rtc.messaging.MessageClientListener;
- import com.sinch.android.rtc.messaging.MessageDeliveryInfo;
- import com.sinch.android.rtc.messaging.MessageFailureInfo;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ListView;
- import android.widget.Toast;
- import java.util.List;
- public class MessagingActivity extends BaseActivity implements MessageClientListener {
- private static final String TAG = MessagingActivity.class.getSimpleName();
- private MessageAdapter mMessageAdapter;
- private EditText mTxtRecipient;
- private EditText mTxtTextBody;
- private Button mBtnSend;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.messaging);
- mTxtRecipient = (EditText) findViewById(R.id.txtRecipient);
- mTxtTextBody = (EditText) findViewById(R.id.txtTextBody);
- mMessageAdapter = new MessageAdapter(this);
- ListView messagesList = (ListView) findViewById(R.id.lstMessages);
- messagesList.setAdapter(mMessageAdapter);
- mBtnSend = (Button) findViewById(R.id.btnSend);
- mBtnSend.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- sendMessage();
- }
- });
- }
- @Override
- public void onDestroy() {
- if (getSinchServiceInterface() != null) {
- getSinchServiceInterface().removeMessageClientListener(this);
- }
- super.onDestroy();
- }
- @Override
- public void onServiceConnected() {
- getSinchServiceInterface().addMessageClientListener(this);
- setButtonEnabled(true);
- }
- @Override
- public void onServiceDisconnected() {
- setButtonEnabled(false);
- }
- private void sendMessage() {
- String recipient = mTxtRecipient.getText().toString();
- String textBody = mTxtTextBody.getText().toString();
- if (recipient.isEmpty()) {
- Toast.makeText(this, "No recipient added", Toast.LENGTH_SHORT).show();
- return;
- }
- if (textBody.isEmpty()) {
- Toast.makeText(this, "No text message", Toast.LENGTH_SHORT).show();
- return;
- }
- getSinchServiceInterface().sendMessage(recipient, textBody);
- mTxtTextBody.setText("");
- }
- private void setButtonEnabled(boolean enabled) {
- mBtnSend.setEnabled(enabled);
- }
- @Override
- public void onIncomingMessage(MessageClient client, Message message) {
- mMessageAdapter.addMessage(message, MessageAdapter.DIRECTION_INCOMING);
- }
- @Override
- public void onMessageSent(MessageClient client, Message message, String recipientId) {
- mMessageAdapter.addMessage(message, MessageAdapter.DIRECTION_OUTGOING);
- }
- @Override
- public void onShouldSendPushData(MessageClient client, Message message, List<PushPair> pushPairs) {
- // Left blank intentionally
- }
- @Override
- public void onMessageFailed(MessageClient client, Message message,
- MessageFailureInfo failureInfo) {
- StringBuilder sb = new StringBuilder();
- sb.append("Sending failed: ")
- .append(failureInfo.getSinchError().getMessage());
- Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();
- Log.d(TAG, sb.toString());
- }
- @Override
- public void onMessageDelivered(MessageClient client, MessageDeliveryInfo deliveryInfo) {
- Log.d(TAG, "onDelivered");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement