/** * Receive a new image sharing invitation * * @param session Image sharing session */ public void receiveImageSharingInvitation(ImageTransferSession session) { if (logger.isActivated()) { logger.info("Receive image sharing invitation from " + session.getRemoteContact()); } // Extract number from contact String number = PhoneUtils.extractNumberFromUri(session.getRemoteContact()); // Update rich call history RichCall.getInstance() .addCall( number, session.getSessionID(), RichCallData.EVENT_INCOMING, session.getContent(), RichCallData.STATUS_STARTED); // Add session in the list ImageSharingSession sessionApi = new ImageSharingSession(session); addImageSharingSession(sessionApi); // Broadcast intent related to the received invitation Intent intent = new Intent(RichCallApiIntents.IMAGE_SHARING_INVITATION); intent.putExtra("contact", number); intent.putExtra("contactDisplayname", session.getRemoteDisplayName()); intent.putExtra("sessionId", session.getSessionID()); intent.putExtra("filename", session.getContent().getName()); intent.putExtra("filesize", session.getContent().getSize()); intent.putExtra("filetype", session.getContent().getEncoding()); intent.putExtra("thumbnail", session.getThumbnail()); AndroidFactory.getApplicationContext().sendBroadcast(intent); }