use of com.cometchat.pro.core.Call in project android-java-chat-push-notification-app by cometchat-pro.
the class MyConnectionService method onCreateOutgoingConnection.
@Override
public Connection onCreateOutgoingConnection(PhoneAccountHandle connectionManagerPhoneAccount, ConnectionRequest request) {
Bundle bundle = request.getExtras();
String sessionID = bundle.getString("SESSIONID");
String name = bundle.getString("NAME");
String receiverType = bundle.getString("RECEIVERTYPE");
String callType = bundle.getString("CALLTYPE");
String receiverID = bundle.getString("RECEIVERID");
Log.e("onCreateOutgoingConn", bundle.toString() + " \n " + sessionID + " " + name);
if (receiverID != null) {
Call call = new Call(receiverID, receiverType, callType);
call.setSessionId(sessionID);
conn = new CallConnection(this, call);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
conn.setConnectionProperties(Connection.PROPERTY_SELF_MANAGED);
}
conn.setCallerDisplayName(name, TelecomManager.PRESENTATION_ALLOWED);
conn.setAddress(request.getAddress(), TelecomManager.PRESENTATION_ALLOWED);
conn.setInitializing();
conn.setActive();
return conn;
} else {
String phoneNumber = bundle.getString("OriginalNumber");
Toast.makeText(getBaseContext(), "You tried to call " + phoneNumber, Toast.LENGTH_LONG);
return super.onCreateOutgoingConnection(connectionManagerPhoneAccount, request);
}
}
use of com.cometchat.pro.core.Call in project android-java-chat-push-notification-app by cometchat-pro.
the class CometChatCalls method setItemClickListener.
/**
* This method helps to get Click events of CometChatCallList
*
* @param onItemClickListener object of the OnItemClickListener
*/
public void setItemClickListener(OnItemClickListener<Call> onItemClickListener) {
this.addOnItemTouchListener(new RecyclerTouchListener(context, this, new ClickListener() {
@Override
public void onClick(View var1, int var2) {
Call call = (Call) var1.getTag(R.string.call);
var1.findViewById(R.id.user_detail_vw).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (onItemClickListener != null)
onItemClickListener.OnItemClick(call, var2);
else
throw new NullPointerException("OnItemClickListener<Call> is null");
}
});
}
@Override
public void onLongClick(View var1, int var2) {
Call call = (Call) var1.getTag(R.string.call);
if (onItemClickListener != null)
onItemClickListener.OnItemLongClick(call, var2);
else
throw new NullPointerException("OnItemClickListener<Call> is null");
}
}));
}
use of com.cometchat.pro.core.Call in project android-java-chat-push-notification-app by cometchat-pro.
the class MyConnectionService method onCreateIncomingConnection.
@Override
public Connection onCreateIncomingConnection(PhoneAccountHandle connectionManagerPhoneAccount, ConnectionRequest request) {
Bundle bundle = request.getExtras();
String sessionID = bundle.getString(UIKitConstants.IntentStrings.SESSION_ID);
String name = bundle.getString(UIKitConstants.IntentStrings.NAME);
String type = bundle.getString(UIKitConstants.IntentStrings.TYPE);
String callType = bundle.getString(UIKitConstants.IntentStrings.CALL_TYPE);
String receiverUID = bundle.getString(UIKitConstants.IntentStrings.ID);
Call call = new Call(receiverUID, type, callType);
call.setSessionId(sessionID);
Log.i("CallConnectionService", "onCreateIncomingConnectionCall:" + call.toString());
conn = new CallConnection(this, call);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
conn.setConnectionProperties(Connection.PROPERTY_SELF_MANAGED);
}
conn.setCallerDisplayName(name, TelecomManager.PRESENTATION_ALLOWED);
conn.setAddress(request.getAddress(), PRESENTATION_ALLOWED);
conn.setInitializing();
conn.setVideoProvider(new Connection.VideoProvider() {
@Override
public void onSetCamera(String cameraId) {
}
@Override
public void onSetPreviewSurface(Surface surface) {
}
@Override
public void onSetDisplaySurface(Surface surface) {
}
@Override
public void onSetDeviceOrientation(int rotation) {
}
@Override
public void onSetZoom(float value) {
}
@Override
public void onSendSessionModifyRequest(VideoProfile fromProfile, VideoProfile toProfile) {
}
@Override
public void onSendSessionModifyResponse(VideoProfile responseProfile) {
}
@Override
public void onRequestCameraCapabilities() {
}
@Override
public void onRequestConnectionDataUsage() {
}
@Override
public void onSetPauseImage(Uri uri) {
}
});
conn.setActive();
return conn;
// return super.onCreateIncomingConnection(connectionManagerPhoneAccount, request);
}
use of com.cometchat.pro.core.Call in project android-java-chat-push-notification-app by cometchat-pro.
the class MessageAdapter method setActionData.
/**
* This method is called whenever viewType of item is Action. It is used to bind
* ActionMessageViewHolder contents with Action at a given position. It shows action message
* or call status based on message category
*
* @param viewHolder is a object of ActionMessageViewHolder.
* @param i is a position of item in recyclerView.
* @see Action
* @see Call
* @see BaseMessage
*/
private void setActionData(ActionMessageViewHolder viewHolder, int i) {
BaseMessage baseMessage = messageList.get(i);
if (Utils.isDarkMode(context))
viewHolder.textView.setTextColor(context.getResources().getColor(R.color.textColorWhite));
else
viewHolder.textView.setTextColor(context.getResources().getColor(R.color.primaryTextColor));
viewHolder.textView.setTypeface(fontUtils.getTypeFace(FontUtils.robotoMedium));
if (baseMessage instanceof Action) {
String actionMessage = "";
if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_JOINED))
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.joined);
else if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_MEMBER_ADDED))
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.added) + " " + ((User) ((Action) baseMessage).getActionOn()).getName();
else if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_KICKED))
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.kicked_by) + " " + ((User) ((Action) baseMessage).getActionOn()).getName();
else if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_BANNED))
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.ban) + " " + ((User) ((Action) baseMessage).getActionOn()).getName();
else if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_UNBANNED))
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.unban) + " " + ((User) ((Action) baseMessage).getActionOn()).getName();
else if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_LEFT))
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.left);
else if (((Action) baseMessage).getAction().equals(CometChatConstants.ActionKeys.ACTION_SCOPE_CHANGED))
if (((Action) baseMessage).getNewScope().equals(CometChatConstants.SCOPE_MODERATOR)) {
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.made) + " " + ((User) ((Action) baseMessage).getActionOn()).getName() + " " + context.getString(R.string.moderator);
} else if (((Action) baseMessage).getNewScope().equals(CometChatConstants.SCOPE_ADMIN)) {
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.made) + " " + ((User) ((Action) baseMessage).getActionOn()).getName() + " " + context.getString(R.string.admin);
} else if (((Action) baseMessage).getNewScope().equals(CometChatConstants.SCOPE_PARTICIPANT)) {
actionMessage = ((User) ((Action) baseMessage).getActioBy()).getName() + " " + context.getString(R.string.made) + " " + ((User) ((Action) baseMessage).getActionOn()).getName() + " " + context.getString(R.string.participant);
} else
actionMessage = ((Action) baseMessage).getMessage();
viewHolder.textView.setText(actionMessage);
} else if (baseMessage instanceof Call) {
Call call = ((Call) baseMessage);
String callMessageText = "";
boolean isMissed = false, isIncoming = false, isVideo = false;
if (call.getCallStatus().equals(CometChatConstants.CALL_STATUS_INITIATED)) {
callMessageText = call.getSender().getName() + " " + context.getString(R.string.initiated);
} else if (call.getCallStatus().equals(CometChatConstants.CALL_STATUS_UNANSWERED) || call.getCallStatus().equals(CometChatConstants.CALL_STATUS_CANCELLED)) {
callMessageText = context.getResources().getString(R.string.missed_call);
isMissed = true;
} else if (call.getCallStatus().equals(CometChatConstants.CALL_STATUS_REJECTED)) {
callMessageText = context.getResources().getString(R.string.rejected_call);
} else if (call.getCallStatus().equals(CometChatConstants.CALL_STATUS_ONGOING)) {
callMessageText = context.getString(R.string.ongoing);
} else if (call.getCallStatus().equals(CometChatConstants.CALL_STATUS_ENDED)) {
callMessageText = context.getString(R.string.ended);
} else {
callMessageText = call.getCallStatus();
}
if (((User) call.getCallInitiator()).getUid().equals(loggedInUser)) {
isIncoming = false;
} else {
isIncoming = true;
}
if (call.getType().equals(CometChatConstants.CALL_TYPE_VIDEO)) {
callMessageText = callMessageText + " " + context.getResources().getString(R.string.video_call);
isVideo = true;
} else {
callMessageText = callMessageText + " " + context.getResources().getString(R.string.audio_call);
isVideo = false;
}
viewHolder.textView.setText(callMessageText);
}
}
use of com.cometchat.pro.core.Call in project android-java-chat-push-notification-app by cometchat-pro.
the class CometChatCalls method setItemCallClickListener.
/**
* This method helps to get Click events of CometChatCallList
*
* @param onItemClickListener object of the OnItemClickListener
*/
public void setItemCallClickListener(OnItemClickListener<Call> onItemClickListener) {
this.addOnItemTouchListener(new RecyclerTouchListener(context, this, new ClickListener() {
@Override
public void onClick(View var1, int var2) {
String uid;
String type;
Call call = (Call) var1.getTag(R.string.call);
if (call.getReceiverType().equals(CometChatConstants.RECEIVER_TYPE_USER)) {
if (((User) call.getCallInitiator()).getUid().equals(CometChat.getLoggedInUser().getUid())) {
uid = ((User) call.getCallReceiver()).getUid();
} else {
uid = ((User) call.getCallInitiator()).getUid();
}
type = CometChatConstants.RECEIVER_TYPE_USER;
} else {
uid = ((Group) call.getCallReceiver()).getGuid();
type = CometChatConstants.RECEIVER_TYPE_GROUP;
}
var1.findViewById(R.id.call_iv).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Call callObj = new Call(uid, type, CometChatConstants.CALL_TYPE_AUDIO);
if (onItemClickListener != null)
onItemClickListener.OnItemClick(callObj, var2);
else
throw new NullPointerException("OnItemClickListener<Call> is null");
}
});
}
@Override
public void onLongClick(View var1, int var2) {
}
}));
}
Aggregations