private static void sendIMLocalBroadcast(String clientId, String conversationId, int requestId, Bundle bundle, Throwable throwable, Conversation.AVIMOperation operation) { if (isOperationValid(operation)) { String keyHeader = operation.getOperation(); Intent callbackIntent = new Intent(keyHeader + requestId); callbackIntent.putExtra(Conversation.callbackClientKey, clientId); if (!StringUtil.isEmpty(conversationId)) { callbackIntent.putExtra(Conversation.callbackConversationKey, conversationId); } if (null != throwable) { callbackIntent.putExtra(Conversation.callbackExceptionKey, throwable); } if (null != bundle) { callbackIntent.putExtras(bundle); } LocalBroadcastManager.getInstance(AVOSCloud.getContext()).sendBroadcast(callbackIntent); } }
public static void sendMap2LocalBroadcase(String clientId, String conversationId, int requestId, HashMap<String, Object> result, Throwable throwable, Conversation.AVIMOperation operation) { if (isOperationValid(operation)) { String keyHeader = operation.getOperation(); Intent callbackIntent = new Intent(keyHeader + requestId); callbackIntent.putExtra(Conversation.callbackClientKey, clientId); if (!StringUtil.isEmpty(conversationId)) { callbackIntent.putExtra(Conversation.callbackConversationKey, conversationId); } if (null != throwable) { callbackIntent.putExtra(Conversation.callbackExceptionKey, throwable); } if (null != result) { callbackIntent.putExtra(CALLBACK_RESULT_KEY, result); } LocalBroadcastManager.getInstance(AVOSCloud.getContext()).sendBroadcast(callbackIntent); } }
protected boolean sendClientCMDToPushService2(String clientId, String conversationId, int convType, final AVIMMessage message, final AVIMMessage message2, final AVIMOperation operation, BroadcastReceiver receiver) { int requestId = WindTalker.getNextIMRequestId(); if (null != receiver) { LocalBroadcastManager.getInstance(AVOSCloud.getContext()).registerReceiver(receiver, new IntentFilter(operation.getOperation() + requestId)); } Intent i = new Intent(AVOSCloud.getContext(), PushService.class); i.setAction(Conversation.AV_CONVERSATION_INTENT_ACTION); if (null != message) { i.putExtra(Conversation.INTENT_KEY_DATA, message.toJSONString()); } if (null != message2) { i.putExtra(Conversation.INTENT_KEY_MESSAGE_EX, message2.toJSONString()); } i.putExtra(Conversation.INTENT_KEY_CLIENT, clientId); i.putExtra(Conversation.INTENT_KEY_CONVERSATION, conversationId); i.putExtra(Conversation.INTENT_KEY_CONV_TYPE, convType); i.putExtra(Conversation.INTENT_KEY_OPERATION, operation.getCode()); i.putExtra(Conversation.INTENT_KEY_REQUESTID, requestId); try { AVOSCloud.getContext().startService(IntentUtil.setupIntentFlags(i)); } catch (Exception ex) { LOGGER.e("failed to startService. cause: " + ex.getMessage()); return false; } return true; }
if (null != receiver) { LocalBroadcastManager.getInstance(AVOSCloud.getContext()).registerReceiver(receiver, new IntentFilter(operation.getOperation() + requestId));
protected boolean sendClientCMDToPushService(String clientId, String dataAsString, BroadcastReceiver receiver, AVIMOperation operation) { int requestId = WindTalker.getNextIMRequestId(); if (receiver != null) { LocalBroadcastManager.getInstance(AVOSCloud.getContext()).registerReceiver(receiver, new IntentFilter(operation.getOperation() + requestId)); } Intent i = new Intent(AVOSCloud.getContext(), PushService.class); i.setAction(Conversation.AV_CONVERSATION_INTENT_ACTION); if (!StringUtil.isEmpty(dataAsString)) { i.putExtra(Conversation.INTENT_KEY_DATA, dataAsString); } i.putExtra(Conversation.INTENT_KEY_CLIENT, clientId); i.putExtra(Conversation.INTENT_KEY_REQUESTID, requestId); i.putExtra(Conversation.INTENT_KEY_OPERATION, operation.getCode()); try { AVOSCloud.getContext().startService(IntentUtil.setupIntentFlags(i)); } catch (Exception ex) { LOGGER.e("failed to startService. cause: " + ex.getMessage()); return false; } return true; }