/** * Get list of current image sharing sessions with a contact * * @param contact Contact * @return List of sessions * @throws ServerApiException */ public List<IBinder> getImageSharingSessionsWith(String contact) throws ServerApiException { if (logger.isActivated()) { logger.info("Get image sharing sessions with " + contact); } // Check permission ServerApiUtils.testPermission(); // Test core availability ServerApiUtils.testCore(); try { Vector<ContentSharingSession> list = Core.getInstance().getRichcallService().getCShSessions(contact); ArrayList<IBinder> result = new ArrayList<IBinder>(list.size()); for (int i = 0; i < list.size(); i++) { ContentSharingSession session = list.elementAt(i); IImageSharingSession sessionApi = imageSharingSessions.get(session.getSessionID()); if (sessionApi != null) { result.add(sessionApi.asBinder()); } } return result; } catch (Exception e) { if (logger.isActivated()) { logger.error("Unexpected error", e); } throw new ServerApiException(e.getMessage()); } }
/** * Set call hold * * @param state State * @throws ServerApiException */ public void setCallHold(boolean state) throws ServerApiException { if (logger.isActivated()) { logger.info("Set call hold to " + state); } // Check permission ServerApiUtils.testPermission(); // Test core availability ServerApiUtils.testCore(); // Update call manager Core.getInstance().getImsModule().getCallManager().setCallHold(state); }
/** * Get current geoloc sharing session from its session ID * * @param id Session ID * @return Session * @throws ServerApiException */ public IGeolocSharingSession getGeolocSharingSession(String id) throws ServerApiException { if (logger.isActivated()) { logger.info("Get geoloc sharing session " + id); } // Check permission ServerApiUtils.testPermission(); // Test core availability ServerApiUtils.testCore(); // Return a session instance return geolocSharingSessions.get(id); }
/** * Get the remote phone number involved in the current call * * @return Phone number or null if there is no call in progress * @throws ServerApiException */ public String getRemotePhoneNumber() throws ServerApiException { if (logger.isActivated()) { logger.info("Get remote phone number"); } // Check permission ServerApiUtils.testPermission(); // Test core availability ServerApiUtils.testCore(); try { return Core.getInstance().getImsModule().getCallManager().getRemoteParty(); } catch (Exception e) { if (logger.isActivated()) { logger.error("Unexpected error", e); } throw new ServerApiException(e.getMessage()); } }
/** * Get vodafone account mapped with the specific number. * * @param number The number to be mapped to vodafone account. * @return The vodafone account. * @throws ServerApiException */ public String getNumberViaVfAccount(String number) throws ServerApiException { ServerApiUtils.testPermission(); ServerApiUtils.testCore(); return PhoneUtils.getNumberViaVfAccount(number); }