Advertisement
adefajrariav

Untitled

Aug 5th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. package com.sinch.android.rtc.sample.messaging;
  2.  
  3. import com.sinch.android.rtc.PushPair;
  4. import com.sinch.android.rtc.messaging.Message;
  5. import com.sinch.android.rtc.messaging.MessageClient;
  6. import com.sinch.android.rtc.messaging.MessageClientListener;
  7. import com.sinch.android.rtc.messaging.MessageDeliveryInfo;
  8. import com.sinch.android.rtc.messaging.MessageFailureInfo;
  9.  
  10. import android.os.Bundle;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15. import android.widget.ListView;
  16. import android.widget.Toast;
  17.  
  18. import java.util.List;
  19.  
  20. public class MessagingActivity extends BaseActivity implements MessageClientListener {
  21.  
  22. private static final String TAG = MessagingActivity.class.getSimpleName();
  23.  
  24. private MessageAdapter mMessageAdapter;
  25. private EditText mTxtRecipient;
  26. private EditText mTxtTextBody;
  27. private Button mBtnSend;
  28.  
  29. @Override
  30. protected void onCreate(Bundle savedInstanceState) {
  31. super.onCreate(savedInstanceState);
  32. setContentView(R.layout.messaging);
  33.  
  34. mTxtRecipient = (EditText) findViewById(R.id.txtRecipient);
  35. mTxtTextBody = (EditText) findViewById(R.id.txtTextBody);
  36.  
  37. mMessageAdapter = new MessageAdapter(this);
  38. ListView messagesList = (ListView) findViewById(R.id.lstMessages);
  39. messagesList.setAdapter(mMessageAdapter);
  40.  
  41. mBtnSend = (Button) findViewById(R.id.btnSend);
  42. mBtnSend.setOnClickListener(new View.OnClickListener() {
  43. @Override
  44. public void onClick(View view) {
  45. sendMessage();
  46. }
  47. });
  48. }
  49.  
  50. @Override
  51. public void onDestroy() {
  52. if (getSinchServiceInterface() != null) {
  53. getSinchServiceInterface().removeMessageClientListener(this);
  54. }
  55. super.onDestroy();
  56. }
  57.  
  58. @Override
  59. public void onServiceConnected() {
  60. getSinchServiceInterface().addMessageClientListener(this);
  61. setButtonEnabled(true);
  62. }
  63.  
  64. @Override
  65. public void onServiceDisconnected() {
  66. setButtonEnabled(false);
  67. }
  68.  
  69. private void sendMessage() {
  70. String recipient = mTxtRecipient.getText().toString();
  71. String textBody = mTxtTextBody.getText().toString();
  72. if (recipient.isEmpty()) {
  73. Toast.makeText(this, "No recipient added", Toast.LENGTH_SHORT).show();
  74. return;
  75. }
  76. if (textBody.isEmpty()) {
  77. Toast.makeText(this, "No text message", Toast.LENGTH_SHORT).show();
  78. return;
  79. }
  80.  
  81. getSinchServiceInterface().sendMessage(recipient, textBody);
  82. mTxtTextBody.setText("");
  83. }
  84.  
  85. private void setButtonEnabled(boolean enabled) {
  86. mBtnSend.setEnabled(enabled);
  87. }
  88.  
  89. @Override
  90. public void onIncomingMessage(MessageClient client, Message message) {
  91. mMessageAdapter.addMessage(message, MessageAdapter.DIRECTION_INCOMING);
  92. }
  93.  
  94. @Override
  95. public void onMessageSent(MessageClient client, Message message, String recipientId) {
  96. mMessageAdapter.addMessage(message, MessageAdapter.DIRECTION_OUTGOING);
  97. }
  98.  
  99. @Override
  100. public void onShouldSendPushData(MessageClient client, Message message, List<PushPair> pushPairs) {
  101. // Left blank intentionally
  102. }
  103.  
  104. @Override
  105. public void onMessageFailed(MessageClient client, Message message,
  106. MessageFailureInfo failureInfo) {
  107. StringBuilder sb = new StringBuilder();
  108. sb.append("Sending failed: ")
  109. .append(failureInfo.getSinchError().getMessage());
  110.  
  111. Toast.makeText(this, sb.toString(), Toast.LENGTH_LONG).show();
  112. Log.d(TAG, sb.toString());
  113. }
  114.  
  115. @Override
  116. public void onMessageDelivered(MessageClient client, MessageDeliveryInfo deliveryInfo) {
  117. Log.d(TAG, "onDelivered");
  118. }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement