Full Code of android-rcs/rcsjta for AI

master f9e1e6108806 cached
2092 files
13.4 MB
3.6M tokens
16422 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (14,567K chars total). Download the full file to get everything.
Repository: android-rcs/rcsjta
Branch: master
Commit: f9e1e6108806
Files: 2092
Total size: 13.4 MB

Directory structure:
gitextract_mwevf30l/

├── .gitignore
├── README.md
├── RI/
│   ├── AndroidManifest.xml
│   ├── LICENSE-2.0.txt
│   ├── README.md
│   ├── build.gradle
│   ├── build.xml
│   ├── default.properties
│   ├── proguard-project.txt
│   ├── project.properties
│   ├── res/
│   │   ├── drawable/
│   │   │   ├── counter_circle.xml
│   │   │   ├── talk_item_rcs_in.xml
│   │   │   └── talk_item_rcs_out.xml
│   │   ├── layout/
│   │   │   ├── app_about.xml
│   │   │   ├── ask_permissions.xml
│   │   │   ├── audio_msg_record.xml
│   │   │   ├── capabilities_list.xml
│   │   │   ├── capabilities_list_item.xml
│   │   │   ├── capabilities_mine.xml
│   │   │   ├── capabilities_refresh.xml
│   │   │   ├── capabilities_request.xml
│   │   │   ├── chat_initiate_group.xml
│   │   │   ├── chat_initiate_single.xml
│   │   │   ├── chat_list.xml
│   │   │   ├── chat_message_log_item.xml
│   │   │   ├── chat_send_file.xml
│   │   │   ├── chat_service_config.xml
│   │   │   ├── chat_view.xml
│   │   │   ├── contact_list_item.xml
│   │   │   ├── contacts_blocking.xml
│   │   │   ├── contacts_rcs_list.xml
│   │   │   ├── contacts_vcard.xml
│   │   │   ├── delivery_info_item.xml
│   │   │   ├── delivery_info_list.xml
│   │   │   ├── extension_initiate_session.xml
│   │   │   ├── extension_messaging_session_view.xml
│   │   │   ├── extension_send_instant_message.xml
│   │   │   ├── extension_session_list.xml
│   │   │   ├── extension_streaming_session_view.xml
│   │   │   ├── filetransfer_custom_title.xml
│   │   │   ├── filetransfer_initiate.xml
│   │   │   ├── filetransfer_log_item.xml
│   │   │   ├── filetransfer_receive.xml
│   │   │   ├── filetransfer_send_multi_file.xml
│   │   │   ├── filetransfer_send_multi_file_item.xml
│   │   │   ├── filetransfer_service_config.xml
│   │   │   ├── fileupload_initiate.xml
│   │   │   ├── gchat_item_rcs_chat_in.xml
│   │   │   ├── gchat_item_rcs_chat_out.xml
│   │   │   ├── gchat_item_rcs_file_transfer_in.xml
│   │   │   ├── gchat_item_rcs_file_transfer_out.xml
│   │   │   ├── geoloc_display.xml
│   │   │   ├── geoloc_edit.xml
│   │   │   ├── geoloc_sharing_initiate.xml
│   │   │   ├── geoloc_sharing_receive.xml
│   │   │   ├── geoloc_show.xml
│   │   │   ├── groupchat_event_view_item.xml
│   │   │   ├── history_log_sharing.xml
│   │   │   ├── image_sharing_initiate.xml
│   │   │   ├── image_sharing_receive.xml
│   │   │   ├── intents_apps.xml
│   │   │   ├── ri_list.xml
│   │   │   ├── service_configuration.xml
│   │   │   ├── service_registration.xml
│   │   │   ├── service_status.xml
│   │   │   ├── sharing_log_geoloc_item.xml
│   │   │   ├── sharing_log_image_item.xml
│   │   │   ├── sharing_log_list.xml
│   │   │   ├── sharing_log_video_item.xml
│   │   │   ├── talk_item_rcs_chat_in.xml
│   │   │   ├── talk_item_rcs_chat_out.xml
│   │   │   ├── talk_item_rcs_file_transfer_in.xml
│   │   │   ├── talk_item_rcs_file_transfer_out.xml
│   │   │   ├── talk_log_group_item.xml
│   │   │   ├── talk_log_one_to_one_item.xml
│   │   │   ├── utils_smiley_menu_item.xml
│   │   │   ├── utils_spinner_item.xml
│   │   │   ├── video_sharing_incoming.xml
│   │   │   └── video_sharing_outgoing.xml
│   │   ├── menu/
│   │   │   ├── menu_1to1_talk.xml
│   │   │   ├── menu_1to1_talk_item.xml
│   │   │   ├── menu_ft.xml
│   │   │   ├── menu_gchat_item.xml
│   │   │   ├── menu_geoloc_sharing.xml
│   │   │   ├── menu_group_chat.xml
│   │   │   ├── menu_historylog.xml
│   │   │   ├── menu_image_sharing.xml
│   │   │   ├── menu_initiate_ft.xml
│   │   │   ├── menu_log.xml
│   │   │   ├── menu_log_item.xml
│   │   │   ├── menu_log_sharing_item.xml
│   │   │   ├── menu_mm_session.xml
│   │   │   └── menu_video_sharing.xml
│   │   └── values/
│   │       ├── filetotransfer.xml
│   │       ├── quicktexts.xml
│   │       ├── smileys.xml
│   │       └── strings.xml
│   └── src/
│       └── com/
│           └── gsma/
│               └── rcs/
│                   └── ri/
│                       ├── AboutRI.java
│                       ├── DeviceBoot.java
│                       ├── RI.java
│                       ├── RcsServiceNotifManager.java
│                       ├── RiApplication.java
│                       ├── capabilities/
│                       │   ├── CapabilitiesList.java
│                       │   ├── MyCapabilities.java
│                       │   ├── RequestAllCapabilities.java
│                       │   ├── RequestCapabilities.java
│                       │   └── TestCapabilitiesApi.java
│                       ├── contacts/
│                       │   ├── BlockingContact.java
│                       │   ├── ContactVCard.java
│                       │   ├── RcsContactsList.java
│                       │   └── TestContactsApi.java
│                       ├── extension/
│                       │   ├── InitiateMultimediaSession.java
│                       │   ├── InstantMessageReceiver.java
│                       │   ├── MultiMediaSessionIntentService.java
│                       │   ├── MultimediaSessionList.java
│                       │   ├── SendInstantMessage.java
│                       │   ├── SessionInvitationReceiver.java
│                       │   ├── TestMultimediaSessionApi.java
│                       │   ├── messaging/
│                       │   │   ├── InitiateMessagingSession.java
│                       │   │   ├── MessagingSessionList.java
│                       │   │   ├── MessagingSessionUtils.java
│                       │   │   └── MessagingSessionView.java
│                       │   └── streaming/
│                       │       ├── InitiateStreamingSession.java
│                       │       ├── StreamingSessionList.java
│                       │       ├── StreamingSessionUtils.java
│                       │       └── StreamingSessionView.java
│                       ├── intents/
│                       │   └── TestIntentApps.java
│                       ├── messaging/
│                       │   ├── GroupDeliveryInfoList.java
│                       │   ├── GroupTalkView.java
│                       │   ├── OneToOneTalkView.java
│                       │   ├── TalkList.java
│                       │   ├── TalkListUpdate.java
│                       │   ├── TestMessagingApi.java
│                       │   ├── adapter/
│                       │   │   ├── BasicViewHolder.java
│                       │   │   ├── GroupDeliveryInfoCursorAdapter.java
│                       │   │   ├── RcsChatInViewHolder.java
│                       │   │   ├── RcsChatOutViewHolder.java
│                       │   │   ├── RcsFileTransferInViewHolder.java
│                       │   │   ├── RcsFileTransferOutViewHolder.java
│                       │   │   ├── TalkCursorAdapter.java
│                       │   │   ├── TalkListArrayAdapter.java
│                       │   │   └── TalkListArrayItem.java
│                       │   ├── chat/
│                       │   │   ├── ChatCursorObserver.java
│                       │   │   ├── ChatMessageDAO.java
│                       │   │   ├── ChatMessageLogView.java
│                       │   │   ├── ChatPendingIntentManager.java
│                       │   │   ├── ChatServiceConfigActivity.java
│                       │   │   ├── ISendFile.java
│                       │   │   ├── IsComposingManager.java
│                       │   │   ├── SendFile.java
│                       │   │   ├── TestChatApi.java
│                       │   │   ├── group/
│                       │   │   │   ├── GroupChatDAO.java
│                       │   │   │   ├── GroupChatIntentService.java
│                       │   │   │   ├── GroupChatInvitationReceiver.java
│                       │   │   │   ├── GroupChatMessageReceiver.java
│                       │   │   │   ├── InitiateGroupChat.java
│                       │   │   │   └── SendGroupFile.java
│                       │   │   └── single/
│                       │   │       ├── InitiateSingleChat.java
│                       │   │       ├── SendSingleFile.java
│                       │   │       ├── SingleChatIntentService.java
│                       │   │       ├── SingleChatInvitationReceiver.java
│                       │   │       └── UndeliveredMessageReceiver.java
│                       │   ├── filetransfer/
│                       │   │   ├── AudioMediaPlayer.java
│                       │   │   ├── AudioMessageRecordActivity.java
│                       │   │   ├── AudioRecorder.java
│                       │   │   ├── FileTransferDAO.java
│                       │   │   ├── FileTransferIntentService.java
│                       │   │   ├── FileTransferInvitationReceiver.java
│                       │   │   ├── FileTransferLogView.java
│                       │   │   ├── FileTransferResumeReceiver.java
│                       │   │   ├── FileTransferServiceConfigActivity.java
│                       │   │   ├── InitiateFileTransfer.java
│                       │   │   ├── ReceiveFileTransfer.java
│                       │   │   ├── TestFileTransferApi.java
│                       │   │   ├── UndeliveredFileReceiver.java
│                       │   │   └── multi/
│                       │   │       ├── FileTransferProperties.java
│                       │   │       ├── ISendMultiFile.java
│                       │   │       ├── SendMultiFile.java
│                       │   │       ├── SendMultiFileGroupChat.java
│                       │   │       └── SendMultiFileSingleChat.java
│                       │   └── geoloc/
│                       │       ├── DisplayGeoloc.java
│                       │       ├── EditGeoloc.java
│                       │       ├── SelectGeoloc.java
│                       │       └── ShowGeoloc.java
│                       ├── permissions/
│                       │   └── PermissionsActivity.java
│                       ├── service/
│                       │   ├── RegistrationStatus.java
│                       │   ├── ServiceConfigurationActivity.java
│                       │   ├── ServiceStatus.java
│                       │   └── TestServiceApi.java
│                       ├── sharing/
│                       │   ├── SharingListView.java
│                       │   ├── TestSharingApi.java
│                       │   ├── geoloc/
│                       │   │   ├── GeolocSharingDAO.java
│                       │   │   ├── GeolocSharingIntentService.java
│                       │   │   ├── GeolocSharingInvitationReceiver.java
│                       │   │   ├── GeolocSharingLogView.java
│                       │   │   ├── InitiateGeolocSharing.java
│                       │   │   └── ReceiveGeolocSharing.java
│                       │   ├── image/
│                       │   │   ├── ImageSharingDAO.java
│                       │   │   ├── ImageSharingIntentService.java
│                       │   │   ├── ImageSharingInvitationReceiver.java
│                       │   │   ├── ImageSharingLogView.java
│                       │   │   ├── InitiateImageSharing.java
│                       │   │   └── ReceiveImageSharing.java
│                       │   └── video/
│                       │       ├── IncomingVideoSharing.java
│                       │       ├── OutgoingVideoSharing.java
│                       │       ├── VideoSharingDAO.java
│                       │       ├── VideoSharingIntentService.java
│                       │       ├── VideoSharingInvitationReceiver.java
│                       │       ├── VideoSharingLogView.java
│                       │       └── media/
│                       │           ├── FifoBuffer.java
│                       │           ├── OriginatingVideoPlayer.java
│                       │           ├── TerminatingVideoPlayer.java
│                       │           ├── VideoPlayerListener.java
│                       │           ├── VideoSurface.java
│                       │           └── VideoSurfaceView.java
│                       ├── upload/
│                       │   └── InitiateFileUpload.java
│                       └── utils/
│                           ├── AbstractMessageParser.java
│                           ├── AndroidDatagramConnection.java
│                           ├── BitmapCache.java
│                           ├── BitmapLoader.java
│                           ├── ContactListAdapter.java
│                           ├── ContactUtil.java
│                           ├── DatagramConnection.java
│                           ├── FileUtils.java
│                           ├── ImageBitmapLoader.java
│                           ├── ImageUtils.java
│                           ├── LogUtils.java
│                           ├── NetworkRessourceManager.java
│                           ├── RcsContactUtil.java
│                           ├── RcsSessionUtil.java
│                           ├── SmileyParser.java
│                           ├── Smileys.java
│                           └── Utils.java
├── SDK/
│   ├── concepts.jd
│   ├── demos.jd
│   ├── download/
│   │   └── index.jd
│   ├── getStarted.jd
│   ├── index.jd
│   ├── overview.jd
│   ├── releases/
│   │   ├── Albatros.jd
│   │   ├── Blackbird.jd
│   │   ├── Crane.jd
│   │   ├── albatros.xml
│   │   ├── blackbird.xml
│   │   ├── current.xml
│   │   └── joyn-sdk.txt
│   ├── samples/
│   │   ├── connectService.jd
│   │   ├── detectServices.jd
│   │   ├── index.jd
│   │   ├── initChat.jd
│   │   ├── listContacts.jd
│   │   └── serviceSupported.jd
│   ├── support.jd
│   ├── tools/
│   │   ├── getToKnow.jd
│   │   ├── index.jd
│   │   └── installJoynServices.jd
│   └── tutorials/
│       ├── index.jd
│       ├── multiApp.jd
│       ├── multiCapability.jd
│       ├── popUpApp.jd
│       └── ttsApp.jd
├── build.gradle
├── build.xml
├── core/
│   ├── .gitignore
│   ├── AndroidManifest.xml
│   ├── LICENSE-2.0.txt
│   ├── LICENSE-BOUNCYCASTLE.txt
│   ├── LICENSE-DNS.txt
│   ├── LICENSE-NIST.txt
│   ├── NOTICE.txt
│   ├── README.md
│   ├── ant.properties
│   ├── build.gradle
│   ├── build.xml
│   ├── default.properties
│   ├── findbugs-exclude.xml
│   ├── jarfiles.txt
│   ├── proguard-project.txt
│   ├── proguard.cfg
│   ├── project.properties
│   ├── res/
│   │   ├── layout/
│   │   │   ├── activity_permissions_alert_dialog.xml
│   │   │   ├── provisioning.xml
│   │   │   ├── provisioning_capabilities.xml
│   │   │   ├── provisioning_logger.xml
│   │   │   ├── provisioning_profile.xml
│   │   │   ├── provisioning_service.xml
│   │   │   ├── provisioning_stack.xml
│   │   │   ├── rcs_provisioning_about.xml
│   │   │   ├── rcs_provisioning_generate_profile.xml
│   │   │   ├── rcs_terms_and_conditions.xml
│   │   │   └── rcs_wifi_provisioning.xml
│   │   ├── menu/
│   │   │   └── menu_provisioning.xml
│   │   ├── values/
│   │   │   ├── dimens.xml
│   │   │   ├── rcs_core_strings.xml
│   │   │   ├── rcs_provisioning_strings.xml
│   │   │   ├── rcs_settings_strings.xml
│   │   │   └── styles.xml
│   │   ├── values-de/
│   │   │   └── rcs_core_strings.xml
│   │   ├── values-fr/
│   │   │   └── rcs_core_strings.xml
│   │   ├── values-w820dp/
│   │   │   └── dimens.xml
│   │   └── xml/
│   │       ├── rcs_core_account_preferences.xml
│   │       ├── rcs_core_authenticator.xml
│   │       ├── rcs_core_contacts.xml
│   │       └── rcs_core_syncadapter.xml
│   ├── src/
│   │   └── com/
│   │       ├── gsma/
│   │       │   └── rcs/
│   │       │       ├── addressbook/
│   │       │       │   ├── AccountChangedReceiver.java
│   │       │       │   ├── AddressBookEventListener.java
│   │       │       │   ├── AddressBookManager.java
│   │       │       │   ├── AuthenticationService.java
│   │       │       │   ├── LocaleManager.java
│   │       │       │   ├── RcsAccountException.java
│   │       │       │   ├── RcsAccountManager.java
│   │       │       │   ├── SetupRcsAccount.java
│   │       │       │   └── SyncAdapterService.java
│   │       │       ├── core/
│   │       │       │   ├── Core.java
│   │       │       │   ├── CoreException.java
│   │       │       │   ├── CoreListener.java
│   │       │       │   ├── FileAccessException.java
│   │       │       │   ├── ParseFailureException.java
│   │       │       │   ├── TerminalInfo.java
│   │       │       │   ├── access/
│   │       │       │   │   ├── MobileNetworkAccess.java
│   │       │       │   │   ├── NetworkAccess.java
│   │       │       │   │   └── WifiNetworkAccess.java
│   │       │       │   ├── content/
│   │       │       │   │   ├── AudioContent.java
│   │       │       │   │   ├── ContentManager.java
│   │       │       │   │   ├── FileContent.java
│   │       │       │   │   ├── GeolocContent.java
│   │       │       │   │   ├── LiveAudioContent.java
│   │       │       │   │   ├── LiveVideoContent.java
│   │       │       │   │   ├── MmContent.java
│   │       │       │   │   ├── PhotoContent.java
│   │       │       │   │   ├── VideoContent.java
│   │       │       │   │   └── VisitCardContent.java
│   │       │       │   └── ims/
│   │       │       │       ├── ImsError.java
│   │       │       │       ├── ImsModule.java
│   │       │       │       ├── network/
│   │       │       │       │   ├── ImsConnectionManager.java
│   │       │       │       │   ├── ImsNetworkInterface.java
│   │       │       │       │   ├── MobileNetworkInterface.java
│   │       │       │       │   ├── NetworkException.java
│   │       │       │       │   ├── WifiNetworkInterface.java
│   │       │       │       │   ├── gsm/
│   │       │       │       │   │   └── CallManager.java
│   │       │       │       │   ├── registration/
│   │       │       │       │   │   ├── GibaRegistrationProcedure.java
│   │       │       │       │   │   ├── HttpDigestRegistrationProcedure.java
│   │       │       │       │   │   ├── RegistrationManager.java
│   │       │       │       │   │   ├── RegistrationProcedure.java
│   │       │       │       │   │   └── RegistrationUtils.java
│   │       │       │       │   └── sip/
│   │       │       │       │       ├── FeatureTags.java
│   │       │       │       │       ├── Multipart.java
│   │       │       │       │       ├── SipManager.java
│   │       │       │       │       ├── SipMessageFactory.java
│   │       │       │       │       └── SipUtils.java
│   │       │       │       ├── protocol/
│   │       │       │       │   ├── PayloadException.java
│   │       │       │       │   ├── http/
│   │       │       │       │   │   ├── HttpAuthenticationAgent.java
│   │       │       │       │   │   ├── HttpDeleteRequest.java
│   │       │       │       │   │   ├── HttpGetRequest.java
│   │       │       │       │   │   ├── HttpPostRequest.java
│   │       │       │       │   │   ├── HttpPutRequest.java
│   │       │       │       │   │   ├── HttpRequest.java
│   │       │       │       │   │   └── HttpResponse.java
│   │       │       │       │   ├── msrp/
│   │       │       │       │   │   ├── ChunkReceiver.java
│   │       │       │       │   │   ├── ChunkSender.java
│   │       │       │       │   │   ├── DataChunks.java
│   │       │       │       │   │   ├── FifoBuffer.java
│   │       │       │       │   │   ├── MsrpClientConnection.java
│   │       │       │       │   │   ├── MsrpConnection.java
│   │       │       │       │   │   ├── MsrpConstants.java
│   │       │       │       │   │   ├── MsrpEventListener.java
│   │       │       │       │   │   ├── MsrpManager.java
│   │       │       │       │   │   ├── MsrpServerConnection.java
│   │       │       │       │   │   ├── MsrpSession.java
│   │       │       │       │   │   ├── MsrpTransaction.java
│   │       │       │       │   │   ├── MsrpUtils.java
│   │       │       │       │   │   ├── ReportTransaction.java
│   │       │       │       │   │   └── RequestTransaction.java
│   │       │       │       │   ├── rtp/
│   │       │       │       │   │   ├── CodecChain.java
│   │       │       │       │   │   ├── DummyPacketGenerator.java
│   │       │       │       │   │   ├── MediaRegistry.java
│   │       │       │       │   │   ├── MediaRtpReceiver.java
│   │       │       │       │   │   ├── MediaRtpSender.java
│   │       │       │       │   │   ├── Processor.java
│   │       │       │       │   │   ├── RtpUtils.java
│   │       │       │       │   │   ├── VideoRtpReceiver.java
│   │       │       │       │   │   ├── VideoRtpSender.java
│   │       │       │       │   │   ├── codec/
│   │       │       │       │   │   │   ├── Codec.java
│   │       │       │       │   │   │   ├── audio/
│   │       │       │       │   │   │   │   ├── AudioCodec.java
│   │       │       │       │   │   │   │   └── amr/
│   │       │       │       │   │   │   │       └── AMRWBConfig.java
│   │       │       │       │   │   │   └── video/
│   │       │       │       │   │   │       ├── VideoCodec.java
│   │       │       │       │   │   │       └── h264/
│   │       │       │       │   │   │           ├── H264Config.java
│   │       │       │       │   │   │           ├── H264RtpHeaders.java
│   │       │       │       │   │   │           ├── JavaDepacketizer.java
│   │       │       │       │   │   │           ├── JavaPacketizer.java
│   │       │       │       │   │   │           ├── NalUnitHeader.java
│   │       │       │       │   │   │           ├── NalUnitType.java
│   │       │       │       │   │   │           ├── decoder/
│   │       │       │       │   │   │           │   └── NativeH264Decoder.java
│   │       │       │       │   │   │           ├── encoder/
│   │       │       │       │   │   │           │   ├── NativeH264Encoder.java
│   │       │       │       │   │   │           │   └── NativeH264EncoderParams.java
│   │       │       │       │   │   │           └── profiles/
│   │       │       │       │   │   │               ├── H264Profile.java
│   │       │       │       │   │   │               ├── H264Profile1.java
│   │       │       │       │   │   │               ├── H264Profile1_1.java
│   │       │       │       │   │   │               ├── H264Profile1_2.java
│   │       │       │       │   │   │               ├── H264Profile1_3.java
│   │       │       │       │   │   │               ├── H264Profile1b.java
│   │       │       │       │   │   │               ├── H264TypeLevel.java
│   │       │       │       │   │   │               └── H264TypeProfile.java
│   │       │       │       │   │   ├── core/
│   │       │       │       │   │   │   ├── ReceptionReport.java
│   │       │       │       │   │   │   ├── RtcpAppPacket.java
│   │       │       │       │   │   │   ├── RtcpByePacket.java
│   │       │       │       │   │   │   ├── RtcpCompoundPacket.java
│   │       │       │       │   │   │   ├── RtcpPacket.java
│   │       │       │       │   │   │   ├── RtcpPacketReceiver.java
│   │       │       │       │   │   │   ├── RtcpPacketTransmitter.java
│   │       │       │       │   │   │   ├── RtcpPacketUtils.java
│   │       │       │       │   │   │   ├── RtcpReceiverReportPacket.java
│   │       │       │       │   │   │   ├── RtcpReport.java
│   │       │       │       │   │   │   ├── RtcpSdesBlock.java
│   │       │       │       │   │   │   ├── RtcpSdesItem.java
│   │       │       │       │   │   │   ├── RtcpSdesPacket.java
│   │       │       │       │   │   │   ├── RtcpSenderReportPacket.java
│   │       │       │       │   │   │   ├── RtcpSession.java
│   │       │       │       │   │   │   ├── RtcpStatisticsReceiver.java
│   │       │       │       │   │   │   ├── RtcpStatisticsTransmitter.java
│   │       │       │       │   │   │   ├── RtpExtensionHeader.java
│   │       │       │       │   │   │   ├── RtpPacket.java
│   │       │       │       │   │   │   ├── RtpPacketReceiver.java
│   │       │       │       │   │   │   ├── RtpPacketTransmitter.java
│   │       │       │       │   │   │   ├── RtpSource.java
│   │       │       │       │   │   │   ├── RtpStatisticsReceiver.java
│   │       │       │       │   │   │   └── RtpStatisticsTransmitter.java
│   │       │       │       │   │   ├── event/
│   │       │       │       │   │   │   ├── RtcpApplicationEvent.java
│   │       │       │       │   │   │   ├── RtcpByeEvent.java
│   │       │       │       │   │   │   ├── RtcpEvent.java
│   │       │       │       │   │   │   ├── RtcpEventListener.java
│   │       │       │       │   │   │   ├── RtcpReceiverReportEvent.java
│   │       │       │       │   │   │   ├── RtcpSdesEvent.java
│   │       │       │       │   │   │   └── RtcpSenderReportEvent.java
│   │       │       │       │   │   ├── format/
│   │       │       │       │   │   │   ├── DummyFormat.java
│   │       │       │       │   │   │   ├── Format.java
│   │       │       │       │   │   │   ├── audio/
│   │       │       │       │   │   │   │   ├── AmrWbAudioFormat.java
│   │       │       │       │   │   │   │   └── AudioFormat.java
│   │       │       │       │   │   │   ├── data/
│   │       │       │       │   │   │   │   └── DataFormat.java
│   │       │       │       │   │   │   └── video/
│   │       │       │       │   │   │       ├── CameraOptions.java
│   │       │       │       │   │   │       ├── H264VideoFormat.java
│   │       │       │       │   │   │       ├── Orientation.java
│   │       │       │       │   │   │       ├── VideoFormat.java
│   │       │       │       │   │   │       └── VideoOrientation.java
│   │       │       │       │   │   ├── media/
│   │       │       │       │   │   │   ├── MediaException.java
│   │       │       │       │   │   │   ├── MediaInput.java
│   │       │       │       │   │   │   ├── MediaListener.java
│   │       │       │       │   │   │   ├── MediaOutput.java
│   │       │       │       │   │   │   ├── MediaSample.java
│   │       │       │       │   │   │   └── VideoSample.java
│   │       │       │       │   │   ├── stream/
│   │       │       │       │   │   │   ├── DummyPacketSourceStream.java
│   │       │       │       │   │   │   ├── MediaCaptureStream.java
│   │       │       │       │   │   │   ├── MediaRendererStream.java
│   │       │       │       │   │   │   ├── ProcessorInputStream.java
│   │       │       │       │   │   │   ├── ProcessorOutputStream.java
│   │       │       │       │   │   │   ├── RtpInputStream.java
│   │       │       │       │   │   │   ├── RtpOutputStream.java
│   │       │       │       │   │   │   ├── RtpStreamListener.java
│   │       │       │       │   │   │   ├── VideoCaptureStream.java
│   │       │       │       │   │   │   └── VideoRendererStream.java
│   │       │       │       │   │   └── util/
│   │       │       │       │   │       ├── Buffer.java
│   │       │       │       │   │       ├── Packet.java
│   │       │       │       │   │       ├── RtpConstants.java
│   │       │       │       │   │       └── SystemTimeBase.java
│   │       │       │       │   ├── sdp/
│   │       │       │       │   │   ├── MediaAttribute.java
│   │       │       │       │   │   ├── MediaDescription.java
│   │       │       │       │   │   ├── Parser.java
│   │       │       │       │   │   ├── SdpParser.java
│   │       │       │       │   │   ├── SdpUtils.java
│   │       │       │       │   │   ├── SessionDescription.java
│   │       │       │       │   │   └── TimeDescription.java
│   │       │       │       │   └── sip/
│   │       │       │       │       ├── KeepAliveManager.java
│   │       │       │       │       ├── SipDialogPath.java
│   │       │       │       │       ├── SipEventListener.java
│   │       │       │       │       ├── SipInterface.java
│   │       │       │       │       ├── SipMessage.java
│   │       │       │       │       ├── SipRequest.java
│   │       │       │       │       ├── SipResponse.java
│   │       │       │       │       ├── SipTransactionContext.java
│   │       │       │       │       └── SipTransactionList.java
│   │       │       │       ├── security/
│   │       │       │       │   ├── Digest.java
│   │       │       │       │   ├── GeneralDigest.java
│   │       │       │       │   ├── HttpDigestMd5Authentication.java
│   │       │       │       │   ├── MD5Digest.java
│   │       │       │       │   └── cert/
│   │       │       │       │       ├── KeyStoreManager.java
│   │       │       │       │       ├── KeyStoreManagerException.java
│   │       │       │       │       └── X509KeyManagerWrapper.java
│   │       │       │       ├── service/
│   │       │       │       │   ├── ContactInfo.java
│   │       │       │       │   ├── ImsService.java
│   │       │       │       │   ├── ImsServiceDispatcher.java
│   │       │       │       │   ├── ImsServiceError.java
│   │       │       │       │   ├── ImsServiceSession.java
│   │       │       │       │   ├── ImsSessionBasedServiceError.java
│   │       │       │       │   ├── ImsSessionListener.java
│   │       │       │       │   ├── SessionActivityManager.java
│   │       │       │       │   ├── SessionAuthenticationAgent.java
│   │       │       │       │   ├── SessionIdGenerator.java
│   │       │       │       │   ├── SessionNotEstablishedException.java
│   │       │       │       │   ├── SessionTimerManager.java
│   │       │       │       │   ├── SipIntentManager.java
│   │       │       │       │   ├── UpdateSessionManager.java
│   │       │       │       │   ├── UpdateSessionManagerListener.java
│   │       │       │       │   ├── capability/
│   │       │       │       │   │   ├── AnonymousFetchManager.java
│   │       │       │       │   │   ├── AnonymousFetchRequestTask.java
│   │       │       │       │   │   ├── Capabilities.java
│   │       │       │       │   │   ├── CapabilityError.java
│   │       │       │       │   │   ├── CapabilityService.java
│   │       │       │       │   │   ├── CapabilityUtils.java
│   │       │       │       │   │   ├── DiscoveryManager.java
│   │       │       │       │   │   ├── ExternalCapabilityMonitoring.java
│   │       │       │       │   │   ├── OptionsManager.java
│   │       │       │       │   │   ├── OptionsRequestTask.java
│   │       │       │       │   │   ├── PollingManager.java
│   │       │       │       │   │   └── SyncContactTask.java
│   │       │       │       │   ├── extension/
│   │       │       │       │   │   ├── ServiceExtensionManager.java
│   │       │       │       │   │   └── SupportedExtensionUpdater.java
│   │       │       │       │   ├── im/
│   │       │       │       │   │   ├── InstantMessagingService.java
│   │       │       │       │   │   ├── chat/
│   │       │       │       │   │   │   ├── ChatError.java
│   │       │       │       │   │   │   ├── ChatMessage.java
│   │       │       │       │   │   │   ├── ChatSession.java
│   │       │       │       │   │   │   ├── ChatSessionListener.java
│   │       │       │       │   │   │   ├── ChatUtils.java
│   │       │       │       │   │   │   ├── ContributionIdGenerator.java
│   │       │       │       │   │   │   ├── GroupChatAutoRejoinTask.java
│   │       │       │       │   │   │   ├── GroupChatInfo.java
│   │       │       │       │   │   │   ├── GroupChatSession.java
│   │       │       │       │   │   │   ├── GroupChatSessionListener.java
│   │       │       │       │   │   │   ├── OneToOneChatSession.java
│   │       │       │       │   │   │   ├── OneToOneChatSessionListener.java
│   │       │       │       │   │   │   ├── OriginatingAdhocGroupChatSession.java
│   │       │       │       │   │   │   ├── OriginatingOneToOneChatSession.java
│   │       │       │       │   │   │   ├── ParticipantInfoUtils.java
│   │       │       │       │   │   │   ├── RejoinGroupChatSession.java
│   │       │       │       │   │   │   ├── RestartGroupChatSession.java
│   │       │       │       │   │   │   ├── SessionUnavailableException.java
│   │       │       │       │   │   │   ├── TerminatingAdhocGroupChatSession.java
│   │       │       │       │   │   │   ├── TerminatingOneToOneChatSession.java
│   │       │       │       │   │   │   ├── cpim/
│   │       │       │       │   │   │   │   ├── CpimHeader.java
│   │       │       │       │   │   │   │   ├── CpimIdentity.java
│   │       │       │       │   │   │   │   ├── CpimMessage.java
│   │       │       │       │   │   │   │   └── CpimParser.java
│   │       │       │       │   │   │   ├── event/
│   │       │       │       │   │   │   │   ├── ConferenceEventSubscribeManager.java
│   │       │       │       │   │   │   │   ├── ConferenceInfoDocument.java
│   │       │       │       │   │   │   │   ├── ConferenceInfoParser.java
│   │       │       │       │   │   │   │   └── User.java
│   │       │       │       │   │   │   ├── geoloc/
│   │       │       │       │   │   │   │   ├── GeolocInfoDocument.java
│   │       │       │       │   │   │   │   └── GeolocInfoParser.java
│   │       │       │       │   │   │   ├── imdn/
│   │       │       │       │   │   │   │   ├── DeliveryExpirationManager.java
│   │       │       │       │   │   │   │   ├── ImdnDocument.java
│   │       │       │       │   │   │   │   ├── ImdnManager.java
│   │       │       │       │   │   │   │   ├── ImdnParser.java
│   │       │       │       │   │   │   │   └── ImdnUtils.java
│   │       │       │       │   │   │   ├── iscomposing/
│   │       │       │       │   │   │   │   ├── IsComposingInfo.java
│   │       │       │       │   │   │   │   ├── IsComposingManager.java
│   │       │       │       │   │   │   │   └── IsComposingParser.java
│   │       │       │       │   │   │   ├── resourcelist/
│   │       │       │       │   │   │   │   ├── ResourceListDocument.java
│   │       │       │       │   │   │   │   └── ResourceListParser.java
│   │       │       │       │   │   │   └── standfw/
│   │       │       │       │   │   │       ├── StoreAndForwardManager.java
│   │       │       │       │   │   │       ├── TerminatingStoreAndForwardOneToOneChatMessageSession.java
│   │       │       │       │   │   │       └── TerminatingStoreAndForwardOneToOneChatNotificationSession.java
│   │       │       │       │   │   └── filetransfer/
│   │       │       │       │   │       ├── FileSharingError.java
│   │       │       │       │   │       ├── FileSharingSession.java
│   │       │       │       │   │       ├── FileSharingSessionListener.java
│   │       │       │       │   │       ├── FileTransferUtils.java
│   │       │       │       │   │       ├── ImsFileSharingSession.java
│   │       │       │       │   │       ├── http/
│   │       │       │       │   │       │   ├── DownloadFromAcceptFileSharingSession.java
│   │       │       │       │   │       │   ├── DownloadFromInviteFileSharingSession.java
│   │       │       │       │   │       │   ├── DownloadFromResumeFileSharingSession.java
│   │       │       │       │   │       │   ├── FileNotDownloadedException.java
│   │       │       │       │   │       │   ├── FileTransferHttpInfoDocument.java
│   │       │       │       │   │       │   ├── FileTransferHttpResumeInfo.java
│   │       │       │       │   │       │   ├── FileTransferHttpResumeInfoParser.java
│   │       │       │       │   │       │   ├── FileTransferHttpThumbnail.java
│   │       │       │       │   │       │   ├── FileTransferXmlParser.java
│   │       │       │       │   │       │   ├── FtHttpResumeManager.java
│   │       │       │       │   │       │   ├── HttpDownloadManager.java
│   │       │       │       │   │       │   ├── HttpFileTransferSession.java
│   │       │       │       │   │       │   ├── HttpTransferEventListener.java
│   │       │       │       │   │       │   ├── HttpTransferManager.java
│   │       │       │       │   │       │   ├── HttpUploadManager.java
│   │       │       │       │   │       │   ├── HttpUploadTransferEventListener.java
│   │       │       │       │   │       │   ├── OriginatingHttpFileSharingSession.java
│   │       │       │       │   │       │   ├── OriginatingHttpGroupFileSharingSession.java
│   │       │       │       │   │       │   ├── ResumeUploadFileSharingSession.java
│   │       │       │       │   │       │   ├── ResumeUploadGroupFileSharingSession.java
│   │       │       │       │   │       │   └── TerminatingHttpFileSharingSession.java
│   │       │       │       │   │       └── msrp/
│   │       │       │       │   │           ├── OriginatingMsrpFileSharingSession.java
│   │       │       │       │   │           └── TerminatingMsrpFileSharingSession.java
│   │       │       │       │   ├── presence/
│   │       │       │       │   │   ├── FavoriteLink.java
│   │       │       │       │   │   ├── Geoloc.java
│   │       │       │       │   │   ├── PhotoIcon.java
│   │       │       │       │   │   ├── PresenceError.java
│   │       │       │       │   │   ├── PresenceInfo.java
│   │       │       │       │   │   ├── PresenceService.java
│   │       │       │       │   │   ├── PresenceSubscribeManager.java
│   │       │       │       │   │   ├── PresenceUtils.java
│   │       │       │       │   │   ├── PublishManager.java
│   │       │       │       │   │   ├── SubscribeManager.java
│   │       │       │       │   │   ├── WatcherInfoSubscribeManager.java
│   │       │       │       │   │   ├── directory/
│   │       │       │       │   │   │   ├── Entry.java
│   │       │       │       │   │   │   ├── Folder.java
│   │       │       │       │   │   │   └── XcapDirectoryParser.java
│   │       │       │       │   │   ├── pidf/
│   │       │       │       │   │   │   ├── Basic.java
│   │       │       │       │   │   │   ├── Contact.java
│   │       │       │       │   │   │   ├── Note.java
│   │       │       │       │   │   │   ├── OverridingWillingness.java
│   │       │       │       │   │   │   ├── Person.java
│   │       │       │       │   │   │   ├── PidfDocument.java
│   │       │       │       │   │   │   ├── PidfParser.java
│   │       │       │       │   │   │   ├── Service.java
│   │       │       │       │   │   │   ├── Status.java
│   │       │       │       │   │   │   ├── StatusIcon.java
│   │       │       │       │   │   │   ├── Tuple.java
│   │       │       │       │   │   │   └── geoloc/
│   │       │       │       │   │   │       └── Geopriv.java
│   │       │       │       │   │   ├── rlmi/
│   │       │       │       │   │   │   ├── ResourceInstance.java
│   │       │       │       │   │   │   ├── RlmiDocument.java
│   │       │       │       │   │   │   └── RlmiParser.java
│   │       │       │       │   │   ├── watcherinfo/
│   │       │       │       │   │   │   ├── Watcher.java
│   │       │       │       │   │   │   ├── WatcherInfoDocument.java
│   │       │       │       │   │   │   └── WatcherInfoParser.java
│   │       │       │       │   │   └── xdm/
│   │       │       │       │   │       ├── HttpAuthenticationAgent.java
│   │       │       │       │   │       ├── XcapResponseParser.java
│   │       │       │       │   │       └── XdmManager.java
│   │       │       │       │   ├── richcall/
│   │       │       │       │   │   ├── ContentSharingError.java
│   │       │       │       │   │   ├── ContentSharingSession.java
│   │       │       │       │   │   ├── RichcallService.java
│   │       │       │       │   │   ├── geoloc/
│   │       │       │       │   │   │   ├── GeolocTransferSession.java
│   │       │       │       │   │   │   ├── GeolocTransferSessionListener.java
│   │       │       │       │   │   │   ├── OriginatingGeolocTransferSession.java
│   │       │       │       │   │   │   └── TerminatingGeolocTransferSession.java
│   │       │       │       │   │   ├── image/
│   │       │       │       │   │   │   ├── ImageTransferSession.java
│   │       │       │       │   │   │   ├── ImageTransferSessionListener.java
│   │       │       │       │   │   │   ├── OriginatingImageTransferSession.java
│   │       │       │       │   │   │   └── TerminatingImageTransferSession.java
│   │       │       │       │   │   └── video/
│   │       │       │       │   │       ├── OriginatingVideoStreamingSession.java
│   │       │       │       │   │       ├── SdpOrientationExtension.java
│   │       │       │       │   │       ├── TerminatingVideoStreamingSession.java
│   │       │       │       │   │       ├── VideoCodecManager.java
│   │       │       │       │   │       ├── VideoSdpBuilder.java
│   │       │       │       │   │       ├── VideoStreamingSession.java
│   │       │       │       │   │       └── VideoStreamingSessionListener.java
│   │       │       │       │   ├── sip/
│   │       │       │       │   │   ├── EnrichCallingService.java
│   │       │       │       │   │   ├── GenericSipSession.java
│   │       │       │       │   │   ├── ImmManager.java
│   │       │       │       │   │   ├── SipService.java
│   │       │       │       │   │   ├── SipSessionError.java
│   │       │       │       │   │   ├── SipSessionListener.java
│   │       │       │       │   │   ├── messaging/
│   │       │       │       │   │   │   ├── GenericSipMsrpSession.java
│   │       │       │       │   │   │   ├── OriginatingSipMsrpSession.java
│   │       │       │       │   │   │   └── TerminatingSipMsrpSession.java
│   │       │       │       │   │   └── streaming/
│   │       │       │       │   │       ├── DataReceiver.java
│   │       │       │       │   │       ├── DataSender.java
│   │       │       │       │   │       ├── GenericSipRtpSession.java
│   │       │       │       │   │       ├── OriginatingSipRtpSession.java
│   │       │       │       │   │       └── TerminatingSipRtpSession.java
│   │       │       │       │   ├── terms/
│   │       │       │       │   │   ├── EndUserNotificationParser.java
│   │       │       │       │   │   ├── TermsAckParser.java
│   │       │       │       │   │   ├── TermsConditionsService.java
│   │       │       │       │   │   └── TermsRequestParser.java
│   │       │       │       │   └── upload/
│   │       │       │       │       ├── FileUploadSession.java
│   │       │       │       │       └── FileUploadSessionListener.java
│   │       │       │       └── userprofile/
│   │       │       │           ├── GibaUserProfileInterface.java
│   │       │       │           ├── SettingsUserProfileInterface.java
│   │       │       │           ├── UserProfile.java
│   │       │       │           └── UserProfileInterface.java
│   │       │       ├── platform/
│   │       │       │   ├── AndroidFactory.java
│   │       │       │   ├── FactoryException.java
│   │       │       │   ├── file/
│   │       │       │   │   ├── AndroidFileFactory.java
│   │       │       │   │   ├── FileDescription.java
│   │       │       │   │   └── FileFactory.java
│   │       │       │   ├── logger/
│   │       │       │   │   └── AndroidAppender.java
│   │       │       │   ├── network/
│   │       │       │   │   ├── AndroidDatagramConnection.java
│   │       │       │   │   ├── AndroidHttpConnection.java
│   │       │       │   │   ├── AndroidNetworkFactory.java
│   │       │       │   │   ├── AndroidSecureSocketConnection.java
│   │       │       │   │   ├── AndroidSocketConnection.java
│   │       │       │   │   ├── AndroidSocketServerConnection.java
│   │       │       │   │   ├── DatagramConnection.java
│   │       │       │   │   ├── HttpConnection.java
│   │       │       │   │   ├── NetworkFactory.java
│   │       │       │   │   ├── SocketConnection.java
│   │       │       │   │   └── SocketServerConnection.java
│   │       │       │   └── registry/
│   │       │       │       ├── AndroidRegistryFactory.java
│   │       │       │       └── RegistryFactory.java
│   │       │       ├── provider/
│   │       │       │   ├── ContentProviderBaseIdCreator.java
│   │       │       │   ├── CursorUtil.java
│   │       │       │   ├── DeleteTask.java
│   │       │       │   ├── LocalContentResolver.java
│   │       │       │   ├── UserProfilePersistedStorageUtil.java
│   │       │       │   ├── contact/
│   │       │       │   │   ├── ContactData.java
│   │       │       │   │   ├── ContactManager.java
│   │       │       │   │   ├── ContactManagerException.java
│   │       │       │   │   └── ContactProvider.java
│   │       │       │   ├── fthttp/
│   │       │       │   │   ├── FtHttpResume.java
│   │       │       │   │   ├── FtHttpResumeDownload.java
│   │       │       │   │   └── FtHttpResumeUpload.java
│   │       │       │   ├── history/
│   │       │       │   │   ├── GroupChatDequeueTask.java
│   │       │       │   │   ├── GroupChatTerminalExceptionTask.java
│   │       │       │   │   ├── HistoryConstants.java
│   │       │       │   │   ├── HistoryLog.java
│   │       │       │   │   ├── HistoryLogData.java
│   │       │       │   │   ├── HistoryMemberBaseIdCreator.java
│   │       │       │   │   ├── HistoryMemberDatabase.java
│   │       │       │   │   ├── HistoryProvider.java
│   │       │       │   │   ├── MultiDbProvider.java
│   │       │       │   │   ├── OneToOneChatDequeueTask.java
│   │       │       │   │   └── QueryHelper.java
│   │       │       │   ├── messaging/
│   │       │       │   │   ├── ChatMessagePersistedStorageAccessor.java
│   │       │       │   │   ├── ChatProvider.java
│   │       │       │   │   ├── DelayedDisplayNotificationDispatcher.java
│   │       │       │   │   ├── FileTransferData.java
│   │       │       │   │   ├── FileTransferDequeueTask.java
│   │       │       │   │   ├── FileTransferLog.java
│   │       │       │   │   ├── FileTransferPersistedStorageAccessor.java
│   │       │       │   │   ├── FileTransferProvider.java
│   │       │       │   │   ├── FileTransferStateAndReasonCode.java
│   │       │       │   │   ├── GroupChatData.java
│   │       │       │   │   ├── GroupChatDeleteTask.java
│   │       │       │   │   ├── GroupChatLog.java
│   │       │       │   │   ├── GroupChatMessageDeleteTask.java
│   │       │       │   │   ├── GroupChatPersistedStorageAccessor.java
│   │       │       │   │   ├── GroupDeliveryInfoData.java
│   │       │       │   │   ├── GroupDeliveryInfoLog.java
│   │       │       │   │   ├── GroupDeliveryInfoProvider.java
│   │       │       │   │   ├── GroupFileTransferDeleteTask.java
│   │       │       │   │   ├── IFileTransferLog.java
│   │       │       │   │   ├── IGroupChatLog.java
│   │       │       │   │   ├── IGroupDeliveryInfoLog.java
│   │       │       │   │   ├── IMessageLog.java
│   │       │       │   │   ├── MessageData.java
│   │       │       │   │   ├── MessageLog.java
│   │       │       │   │   ├── MessagingLog.java
│   │       │       │   │   ├── OneToOneChatMessageDeleteTask.java
│   │       │       │   │   ├── OneToOneChatMessageDequeueTask.java
│   │       │       │   │   ├── OneToOneFileTransferDeleteTask.java
│   │       │       │   │   ├── RecreateDeliveryExpirationAlarms.java
│   │       │       │   │   └── UpdateFileTransferStateAfterUngracefulTerminationTask.java
│   │       │       │   ├── settings/
│   │       │       │   │   ├── RcsSettings.java
│   │       │       │   │   ├── RcsSettingsData.java
│   │       │       │   │   └── RcsSettingsProvider.java
│   │       │       │   └── sharing/
│   │       │       │       ├── GeolocSharingData.java
│   │       │       │       ├── GeolocSharingDeleteTask.java
│   │       │       │       ├── GeolocSharingPersistedStorageAccessor.java
│   │       │       │       ├── GeolocSharingProvider.java
│   │       │       │       ├── GeolocSharingStateAndReasonCode.java
│   │       │       │       ├── ImageSharingData.java
│   │       │       │       ├── ImageSharingDeleteTask.java
│   │       │       │       ├── ImageSharingPersistedStorageAccessor.java
│   │       │       │       ├── ImageSharingProvider.java
│   │       │       │       ├── ImageSharingStateAndReasonCode.java
│   │       │       │       ├── RichCallHistory.java
│   │       │       │       ├── UpdateGeolocSharingStateAfterUngracefulTerminationTask.java
│   │       │       │       ├── UpdateImageSharingStateAfterUngracefulTerminationTask.java
│   │       │       │       ├── UpdateVideoSharingStateAfterUngracefulTerminationTask.java
│   │       │       │       ├── VideoSharingData.java
│   │       │       │       ├── VideoSharingDeleteTask.java
│   │       │       │       ├── VideoSharingPersistedStorageAccessor.java
│   │       │       │       ├── VideoSharingProvider.java
│   │       │       │       └── VideoSharingStateAndReasonCode.java
│   │       │       ├── provisioning/
│   │       │       │   ├── Parameter.java
│   │       │       │   ├── ProvisioningFailureReasons.java
│   │       │       │   ├── ProvisioningInfo.java
│   │       │       │   ├── ProvisioningParser.java
│   │       │       │   ├── TermsAndConditionsRequest.java
│   │       │       │   ├── https/
│   │       │       │   │   ├── EasyX509TrustManager.java
│   │       │       │   │   ├── HttpsProvisioningAlertDialog.java
│   │       │       │   │   ├── HttpsProvisioningConnection.java
│   │       │       │   │   ├── HttpsProvisioningManager.java
│   │       │       │   │   ├── HttpsProvisioningMsisdnInput.java
│   │       │       │   │   ├── HttpsProvisioningResult.java
│   │       │       │   │   ├── HttpsProvisioningSMS.java
│   │       │       │   │   ├── HttpsProvisioningService.java
│   │       │       │   │   ├── HttpsProvisioningUtils.java
│   │       │       │   │   └── ProvisioningPushSMSReceiver.java
│   │       │       │   └── local/
│   │       │       │       ├── CapabilitiesProvisioning.java
│   │       │       │       ├── IProvisioningFragment.java
│   │       │       │       ├── LoggerProvisioning.java
│   │       │       │       ├── ProfileProvisioning.java
│   │       │       │       ├── Provisioning.java
│   │       │       │       ├── ProvisioningHelper.java
│   │       │       │       ├── ServiceProvisioning.java
│   │       │       │       ├── SlidingTabLayout.java
│   │       │       │       ├── SlidingTabStrip.java
│   │       │       │       ├── StackProvisioning.java
│   │       │       │       └── ViewPagerAdapter.java
│   │       │       ├── service/
│   │       │       │   ├── CpuManager.java
│   │       │       │   ├── DequeueTask.java
│   │       │       │   ├── DeviceBoot.java
│   │       │       │   ├── DeviceShutdown.java
│   │       │       │   ├── GroupChatInviteQueuedParticipantsTask.java
│   │       │       │   ├── LauncherUtils.java
│   │       │       │   ├── RcsCoreService.java
│   │       │       │   ├── RcsServiceControlReceiver.java
│   │       │       │   ├── StartService.java
│   │       │       │   ├── api/
│   │       │       │   │   ├── CapabilityServiceImpl.java
│   │       │       │   │   ├── ChatMessageImpl.java
│   │       │       │   │   ├── ChatServiceConfigurationImpl.java
│   │       │       │   │   ├── ChatServiceImpl.java
│   │       │       │   │   ├── CommonServiceConfigurationImpl.java
│   │       │       │   │   ├── ContactServiceImpl.java
│   │       │       │   │   ├── ExceptionUtil.java
│   │       │       │   │   ├── FileTransferServiceConfigurationImpl.java
│   │       │       │   │   ├── FileTransferServiceImpl.java
│   │       │       │   │   ├── FileUploadImpl.java
│   │       │       │   │   ├── FileUploadServiceConfigurationImpl.java
│   │       │       │   │   ├── FileUploadServiceImpl.java
│   │       │       │   │   ├── FileUploadStorageAccessor.java
│   │       │       │   │   ├── GeolocSharingImpl.java
│   │       │       │   │   ├── GeolocSharingServiceImpl.java
│   │       │       │   │   ├── GroupChatImpl.java
│   │       │       │   │   ├── GroupFileTransferImpl.java
│   │       │       │   │   ├── HistoryServiceImpl.java
│   │       │       │   │   ├── ImageSharingImpl.java
│   │       │       │   │   ├── ImageSharingServiceConfigurationImpl.java
│   │       │       │   │   ├── ImageSharingServiceImpl.java
│   │       │       │   │   ├── MultimediaMessagingSessionImpl.java
│   │       │       │   │   ├── MultimediaSessionServiceConfigurationImpl.java
│   │       │       │   │   ├── MultimediaSessionServiceImpl.java
│   │       │       │   │   ├── MultimediaSessionStorageAccessor.java
│   │       │       │   │   ├── MultimediaStreamingSessionImpl.java
│   │       │       │   │   ├── OneToOneChatImpl.java
│   │       │       │   │   ├── OneToOneDeliveryExpirationService.java
│   │       │       │   │   ├── OneToOneFileTransferImpl.java
│   │       │       │   │   ├── ServerApiBaseException.java
│   │       │       │   │   ├── ServerApiGenericException.java
│   │       │       │   │   ├── ServerApiIllegalArgumentException.java
│   │       │       │   │   ├── ServerApiMaxAllowedSessionLimitReachedException.java
│   │       │       │   │   ├── ServerApiPermissionDeniedException.java
│   │       │       │   │   ├── ServerApiPersistentStorageException.java
│   │       │       │   │   ├── ServerApiServiceNotRegisteredException.java
│   │       │       │   │   ├── ServerApiUnsupportedOperationException.java
│   │       │       │   │   ├── ServerApiUtils.java
│   │       │       │   │   ├── VideoSharingImpl.java
│   │       │       │   │   ├── VideoSharingServiceConfigurationImpl.java
│   │       │       │   │   └── VideoSharingServiceImpl.java
│   │       │       │   ├── broadcaster/
│   │       │       │   │   ├── CapabilitiesBroadcaster.java
│   │       │       │   │   ├── FileUploadEventBroadcaster.java
│   │       │       │   │   ├── GeolocSharingEventBroadcaster.java
│   │       │       │   │   ├── GroupChatEventBroadcaster.java
│   │       │       │   │   ├── GroupFileTransferBroadcaster.java
│   │       │       │   │   ├── IFileUploadEventBroadcaster.java
│   │       │       │   │   ├── IGeolocSharingEventBroadcaster.java
│   │       │       │   │   ├── IGroupChatEventBroadcaster.java
│   │       │       │   │   ├── IGroupFileTransferBroadcaster.java
│   │       │       │   │   ├── IImageSharingEventBroadcaster.java
│   │       │       │   │   ├── IMultimediaMessagingSessionEventBroadcaster.java
│   │       │       │   │   ├── IMultimediaStreamingSessionEventBroadcaster.java
│   │       │       │   │   ├── IOneToOneChatEventBroadcaster.java
│   │       │       │   │   ├── IOneToOneFileTransferBroadcaster.java
│   │       │       │   │   ├── IRcsServiceRegistrationEventBroadcaster.java
│   │       │       │   │   ├── IVideoSharingEventBroadcaster.java
│   │       │       │   │   ├── ImageSharingEventBroadcaster.java
│   │       │       │   │   ├── MultimediaMessagingSessionEventBroadcaster.java
│   │       │       │   │   ├── MultimediaStreamingSessionEventBroadcaster.java
│   │       │       │   │   ├── OneToOneChatEventBroadcaster.java
│   │       │       │   │   ├── OneToOneFileTransferBroadcaster.java
│   │       │       │   │   ├── RcsServiceRegistrationEventBroadcaster.java
│   │       │       │   │   └── VideoSharingEventBroadcaster.java
│   │       │       │   └── permissions/
│   │       │       │       ├── PermissionsAlertDialog.java
│   │       │       │       └── PermissionsManager.java
│   │       │       └── utils/
│   │       │           ├── Base64.java
│   │       │           ├── CloseableUtils.java
│   │       │           ├── ContactUtil.java
│   │       │           ├── DatabaseUtils.java
│   │       │           ├── DateUtils.java
│   │       │           ├── DeviceUtils.java
│   │       │           ├── FifoBuffer.java
│   │       │           ├── FileUtils.java
│   │       │           ├── HexadecimalUtils.java
│   │       │           ├── IdGenerator.java
│   │       │           ├── InetAddressUtils.java
│   │       │           ├── IntentUtils.java
│   │       │           ├── IpAddressUtils.java
│   │       │           ├── MimeManager.java
│   │       │           ├── NetworkRessourceManager.java
│   │       │           ├── NetworkUtils.java
│   │       │           ├── PeriodicRefresher.java
│   │       │           ├── PhoneUtils.java
│   │       │           ├── StorageUtils.java
│   │       │           ├── StringUtils.java
│   │       │           ├── TimerUtils.java
│   │       │           └── logger/
│   │       │               ├── Appender.java
│   │       │               └── Logger.java
│   │       └── telekom/
│   │           └── bouncycastle/
│   │               └── wrapper/
│   │                   └── SimpleContentSignerBuilder.java
│   └── tests/
│       ├── .gitignore
│       ├── AndroidManifest.xml
│       ├── ant.properties
│       ├── default.properties
│       ├── project.properties
│       ├── res/
│       │   └── .gitignore
│       └── src/
│           └── com/
│               └── gsma/
│                   ├── rcs/
│                   │   ├── InitTest.java
│                   │   ├── RcsSettingsMock.java
│                   │   ├── chat/
│                   │   │   ├── ChatSdpUtilsTest.java
│                   │   │   ├── ConferenceInfoParserTest.java
│                   │   │   ├── ImdnParserTest.java
│                   │   │   ├── IsComposingParserTest.java
│                   │   │   └── ResourceListParserTest.java
│                   │   ├── contact/
│                   │   │   └── ContactManagerTest.java
│                   │   ├── cpim/
│                   │   │   ├── CpimIdentityTest.java
│                   │   │   └── CpimParserTest.java
│                   │   ├── dns/
│                   │   │   └── DnsTest.java
│                   │   ├── im/
│                   │   │   ├── chat/
│                   │   │   │   ├── ChatLogTest.java
│                   │   │   │   ├── ChatMessageTest.java
│                   │   │   │   ├── GeolocInfoXmlParserTest.java
│                   │   │   │   └── MessageLogTest.java
│                   │   │   └── filetransfer/
│                   │   │       ├── FileTransferLogTest.java
│                   │   │       ├── FileTransferSdpUtilsTest.java
│                   │   │       └── FileTransferXmlParserTest.java
│                   │   ├── provider/
│                   │   │   └── UserProfilePersistedStorageUtilTest.java
│                   │   ├── richcall/
│                   │   │   └── VideoSdpTest.java
│                   │   └── utils/
│                   │       ├── Base64Test.java
│                   │       ├── ContactUtilMockContext.java
│                   │       ├── DateUtilsTest.java
│                   │       ├── IpAddressUtilsTest.java
│                   │       └── NetworkRessourceMangerTest.java
│                   └── service/
│                       └── rcs/
│                           ├── GeolocTest.java
│                           ├── capabilities/
│                           │   ├── CapabilitiesTest.java
│                           │   └── ServiceExtensionManagerTest.java
│                           ├── contacts/
│                           │   ├── ContactUtilTest.java
│                           │   ├── ContactUtilsTest.java
│                           │   └── RcsContactTest.java
│                           ├── history/
│                           │   └── HistoryLogTest.java
│                           └── upload/
│                               └── FileUploadInfoTest.java
├── docs/
│   ├── RCSJTA_open_source.ppt
│   ├── SUPPORTED-STANDARDS.txt
│   └── tapi/
│       ├── CR_1.6/
│       │   ├── RCSJTA_T-API1.6_CR001_AudioMessage-R1.doc
│       │   ├── RCSJTA_T-API1.6_CR001_AudioMessage-R2.doc
│       │   ├── RCSJTA_T-API1.6_CR001_AudioMessage_old.doc
│       │   ├── RCSJTA_T-API1.6_CR002_ReferenceToCranePriorityRelease-R1.doc
│       │   ├── RCSJTA_T-API1.6_CR002_ReferenceToCranePriorityRelease-R2.doc
│       │   ├── RCSJTA_T-API1.6_CR003_Capability_Discovery-R1.doc
│       │   ├── RCSJTA_TT_BB_CR001_EnrichCalling_R5.doc
│       │   └── RCSJTA_TT_BB_CR001_EnrichCalling_R6.doc
│       ├── RCC.53_CR1005_1.6.1.docx
│       ├── RCC.53_v3.0_1.5.1-r1.docx
│       ├── RCC.53_v3.0_1.5.1.docx
│       └── wiki/
│           ├── TAPI_architecture.ppt
│           ├── TAPI_capabilities_contact.ppt
│           └── TAPI_chat.ppt
├── eclipse/
│   ├── README.txt
│   ├── android-eclipse-formatting.xml
│   └── android.importorder
├── gradle/
│   └── wrapper/
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── libs/
│   ├── api/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   ├── src/
│   │   │   └── main/
│   │   │       ├── AndroidManifest.xml
│   │   │       ├── aidl/
│   │   │       │   └── com/
│   │   │       │       └── gsma/
│   │   │       │           └── services/
│   │   │       │               └── rcs/
│   │   │       │                   ├── Geoloc.aidl
│   │   │       │                   ├── ICommonServiceConfiguration.aidl
│   │   │       │                   ├── IRcsServiceRegistrationListener.aidl
│   │   │       │                   ├── RcsServiceRegistration.aidl
│   │   │       │                   ├── capability/
│   │   │       │                   │   ├── Capabilities.aidl
│   │   │       │                   │   ├── ICapabilitiesListener.aidl
│   │   │       │                   │   └── ICapabilityService.aidl
│   │   │       │                   ├── chat/
│   │   │       │                   │   ├── IChatMessage.aidl
│   │   │       │                   │   ├── IChatService.aidl
│   │   │       │                   │   ├── IChatServiceConfiguration.aidl
│   │   │       │                   │   ├── IGroupChat.aidl
│   │   │       │                   │   ├── IGroupChatListener.aidl
│   │   │       │                   │   ├── IOneToOneChat.aidl
│   │   │       │                   │   └── IOneToOneChatListener.aidl
│   │   │       │                   ├── contact/
│   │   │       │                   │   ├── ContactId.aidl
│   │   │       │                   │   ├── IContactService.aidl
│   │   │       │                   │   └── RcsContact.aidl
│   │   │       │                   ├── extension/
│   │   │       │                   │   ├── IMultimediaMessagingSession.aidl
│   │   │       │                   │   ├── IMultimediaMessagingSessionListener.aidl
│   │   │       │                   │   ├── IMultimediaSessionService.aidl
│   │   │       │                   │   ├── IMultimediaSessionServiceConfiguration.aidl
│   │   │       │                   │   ├── IMultimediaStreamingSession.aidl
│   │   │       │                   │   └── IMultimediaStreamingSessionListener.aidl
│   │   │       │                   ├── filetransfer/
│   │   │       │                   │   ├── IFileTransfer.aidl
│   │   │       │                   │   ├── IFileTransferService.aidl
│   │   │       │                   │   ├── IFileTransferServiceConfiguration.aidl
│   │   │       │                   │   ├── IGroupFileTransferListener.aidl
│   │   │       │                   │   └── IOneToOneFileTransferListener.aidl
│   │   │       │                   ├── history/
│   │   │       │                   │   └── IHistoryService.aidl
│   │   │       │                   ├── sharing/
│   │   │       │                   │   ├── geoloc/
│   │   │       │                   │   │   ├── IGeolocSharing.aidl
│   │   │       │                   │   │   ├── IGeolocSharingListener.aidl
│   │   │       │                   │   │   └── IGeolocSharingService.aidl
│   │   │       │                   │   ├── image/
│   │   │       │                   │   │   ├── IImageSharing.aidl
│   │   │       │                   │   │   ├── IImageSharingListener.aidl
│   │   │       │                   │   │   ├── IImageSharingService.aidl
│   │   │       │                   │   │   └── IImageSharingServiceConfiguration.aidl
│   │   │       │                   │   └── video/
│   │   │       │                   │       ├── IVideoPlayer.aidl
│   │   │       │                   │       ├── IVideoSharing.aidl
│   │   │       │                   │       ├── IVideoSharingListener.aidl
│   │   │       │                   │       ├── IVideoSharingService.aidl
│   │   │       │                   │       ├── IVideoSharingServiceConfiguration.aidl
│   │   │       │                   │       ├── VideoCodec.aidl
│   │   │       │                   │       └── VideoDescriptor.aidl
│   │   │       │                   └── upload/
│   │   │       │                       ├── FileUploadInfo.aidl
│   │   │       │                       ├── IFileUpload.aidl
│   │   │       │                       ├── IFileUploadListener.aidl
│   │   │       │                       ├── IFileUploadService.aidl
│   │   │       │                       └── IFileUploadServiceConfiguration.aidl
│   │   │       └── java/
│   │   │           └── com/
│   │   │               └── gsma/
│   │   │                   └── services/
│   │   │                       └── rcs/
│   │   │                           ├── CommonServiceConfiguration.java
│   │   │                           ├── Geoloc.java
│   │   │                           ├── Intents.java
│   │   │                           ├── RcsGenericException.java
│   │   │                           ├── RcsIllegalArgumentException.java
│   │   │                           ├── RcsMaxAllowedSessionLimitReachedException.java
│   │   │                           ├── RcsPermissionDeniedException.java
│   │   │                           ├── RcsPersistentStorageException.java
│   │   │                           ├── RcsService.java
│   │   │                           ├── RcsServiceControl.java
│   │   │                           ├── RcsServiceException.java
│   │   │                           ├── RcsServiceListener.java
│   │   │                           ├── RcsServiceNotAvailableException.java
│   │   │                           ├── RcsServiceNotRegisteredException.java
│   │   │                           ├── RcsServiceRegistration.java
│   │   │                           ├── RcsServiceRegistrationListener.java
│   │   │                           ├── RcsServiceRegistrationListenerImpl.java
│   │   │                           ├── RcsUnsupportedOperationException.java
│   │   │                           ├── capability/
│   │   │                           │   ├── Capabilities.java
│   │   │                           │   ├── CapabilitiesListener.java
│   │   │                           │   ├── CapabilitiesListenerImpl.java
│   │   │                           │   ├── CapabilitiesLog.java
│   │   │                           │   ├── CapabilityService.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── chat/
│   │   │                           │   ├── ChatLog.java
│   │   │                           │   ├── ChatMessage.java
│   │   │                           │   ├── ChatService.java
│   │   │                           │   ├── ChatServiceConfiguration.java
│   │   │                           │   ├── GroupChat.java
│   │   │                           │   ├── GroupChatIntent.java
│   │   │                           │   ├── GroupChatListener.java
│   │   │                           │   ├── GroupChatListenerImpl.java
│   │   │                           │   ├── OneToOneChat.java
│   │   │                           │   ├── OneToOneChatIntent.java
│   │   │                           │   ├── OneToOneChatListener.java
│   │   │                           │   ├── OneToOneChatListenerImpl.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── contact/
│   │   │                           │   ├── ContactId.java
│   │   │                           │   ├── ContactProvider.java
│   │   │                           │   ├── ContactService.java
│   │   │                           │   ├── ContactUtil.java
│   │   │                           │   ├── RcsContact.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── extension/
│   │   │                           │   ├── InstantMultimediaMessageIntent.java
│   │   │                           │   ├── MultimediaMessagingSession.java
│   │   │                           │   ├── MultimediaMessagingSessionIntent.java
│   │   │                           │   ├── MultimediaMessagingSessionListener.java
│   │   │                           │   ├── MultimediaMessagingSessionListenerImpl.java
│   │   │                           │   ├── MultimediaSession.java
│   │   │                           │   ├── MultimediaSessionService.java
│   │   │                           │   ├── MultimediaSessionServiceConfiguration.java
│   │   │                           │   ├── MultimediaStreamingSession.java
│   │   │                           │   ├── MultimediaStreamingSessionIntent.java
│   │   │                           │   ├── MultimediaStreamingSessionListener.java
│   │   │                           │   ├── MultimediaStreamingSessionListenerImpl.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── filetransfer/
│   │   │                           │   ├── FileTransfer.java
│   │   │                           │   ├── FileTransferIntent.java
│   │   │                           │   ├── FileTransferLog.java
│   │   │                           │   ├── FileTransferService.java
│   │   │                           │   ├── FileTransferServiceConfiguration.java
│   │   │                           │   ├── GroupFileTransferListener.java
│   │   │                           │   ├── GroupFileTransferListenerImpl.java
│   │   │                           │   ├── OneToOneFileTransferListener.java
│   │   │                           │   ├── OneToOneFileTransferListenerImpl.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── groupdelivery/
│   │   │                           │   ├── GroupDeliveryInfo.java
│   │   │                           │   └── GroupDeliveryInfoLog.java
│   │   │                           ├── history/
│   │   │                           │   ├── HistoryLog.java
│   │   │                           │   ├── HistoryService.java
│   │   │                           │   └── HistoryUriBuilder.java
│   │   │                           ├── package-info.java
│   │   │                           ├── sharing/
│   │   │                           │   ├── geoloc/
│   │   │                           │   │   ├── GeolocSharing.java
│   │   │                           │   │   ├── GeolocSharingIntent.java
│   │   │                           │   │   ├── GeolocSharingListener.java
│   │   │                           │   │   ├── GeolocSharingListenerImpl.java
│   │   │                           │   │   ├── GeolocSharingLog.java
│   │   │                           │   │   ├── GeolocSharingService.java
│   │   │                           │   │   └── package-info.java
│   │   │                           │   ├── image/
│   │   │                           │   │   ├── ImageSharing.java
│   │   │                           │   │   ├── ImageSharingIntent.java
│   │   │                           │   │   ├── ImageSharingListener.java
│   │   │                           │   │   ├── ImageSharingListenerImpl.java
│   │   │                           │   │   ├── ImageSharingLog.java
│   │   │                           │   │   ├── ImageSharingService.java
│   │   │                           │   │   ├── ImageSharingServiceConfiguration.java
│   │   │                           │   │   └── package-info.java
│   │   │                           │   └── video/
│   │   │                           │       ├── VideoCodec.java
│   │   │                           │       ├── VideoDescriptor.java
│   │   │                           │       ├── VideoPlayer.java
│   │   │                           │       ├── VideoPlayerImpl.java
│   │   │                           │       ├── VideoSharing.java
│   │   │                           │       ├── VideoSharingIntent.java
│   │   │                           │       ├── VideoSharingListener.java
│   │   │                           │       ├── VideoSharingListenerImpl.java
│   │   │                           │       ├── VideoSharingLog.java
│   │   │                           │       ├── VideoSharingService.java
│   │   │                           │       ├── VideoSharingServiceConfiguration.java
│   │   │                           │       └── package-info.java
│   │   │                           └── upload/
│   │   │                               ├── FileUpload.java
│   │   │                               ├── FileUploadInfo.java
│   │   │                               ├── FileUploadListener.java
│   │   │                               ├── FileUploadListenerImpl.java
│   │   │                               ├── FileUploadService.java
│   │   │                               ├── FileUploadServiceConfiguration.java
│   │   │                               └── package-info.java
│   │   └── version/
│   │       ├── blackbird_1_5_1.xml
│   │       └── crane_1_6_1.xml
│   ├── api_cnx/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── gsma/
│   │           │           └── rcs/
│   │           │               └── api/
│   │           │                   └── connection/
│   │           │                       ├── ConnectionManager.java
│   │           │                       ├── IRcsActivityFinishable.java
│   │           │                       └── utils/
│   │           │                           ├── DialogUtil.java
│   │           │                           ├── ExceptionUtil.java
│   │           │                           ├── IConnectionManager.java
│   │           │                           ├── IRcsDialog.java
│   │           │                           ├── LockAccess.java
│   │           │                           ├── LogUtils.java
│   │           │                           ├── RcsActivity.java
│   │           │                           ├── RcsFragmentActivity.java
│   │           │                           ├── RcsListActivity.java
│   │           │                           ├── RcsPreferenceActivity.java
│   │           │                           └── TimerUtils.java
│   │           └── res/
│   │               └── values/
│   │                   └── strings.xml
│   ├── bouncycastle/
│   │   ├── AndroidManifestLibrary.xml
│   │   ├── build.gradle
│   │   └── src/
│   │       └── local/
│   │           └── org/
│   │               └── bouncycastle/
│   │                   ├── asn1/
│   │                   │   ├── ASN1ApplicationSpecificParser.java
│   │                   │   ├── ASN1Boolean.java
│   │                   │   ├── ASN1Choice.java
│   │                   │   ├── ASN1Encodable.java
│   │                   │   ├── ASN1EncodableVector.java
│   │                   │   ├── ASN1Encoding.java
│   │                   │   ├── ASN1Enumerated.java
│   │                   │   ├── ASN1Exception.java
│   │                   │   ├── ASN1GeneralizedTime.java
│   │                   │   ├── ASN1Generator.java
│   │                   │   ├── ASN1InputStream.java
│   │                   │   ├── ASN1Integer.java
│   │                   │   ├── ASN1Null.java
│   │                   │   ├── ASN1Object.java
│   │                   │   ├── ASN1ObjectIdentifier.java
│   │                   │   ├── ASN1OctetString.java
│   │                   │   ├── ASN1OctetStringParser.java
│   │                   │   ├── ASN1OutputStream.java
│   │                   │   ├── ASN1ParsingException.java
│   │                   │   ├── ASN1Primitive.java
│   │                   │   ├── ASN1Sequence.java
│   │                   │   ├── ASN1SequenceParser.java
│   │                   │   ├── ASN1Set.java
│   │                   │   ├── ASN1SetParser.java
│   │                   │   ├── ASN1StreamParser.java
│   │                   │   ├── ASN1String.java
│   │                   │   ├── ASN1TaggedObject.java
│   │                   │   ├── ASN1TaggedObjectParser.java
│   │                   │   ├── ASN1UTCTime.java
│   │                   │   ├── BERApplicationSpecific.java
│   │                   │   ├── BERApplicationSpecificParser.java
│   │                   │   ├── BERConstructedOctetString.java
│   │                   │   ├── BERFactory.java
│   │                   │   ├── BERGenerator.java
│   │                   │   ├── BEROctetString.java
│   │                   │   ├── BEROctetStringGenerator.java
│   │                   │   ├── BEROctetStringParser.java
│   │                   │   ├── BEROutputStream.java
│   │                   │   ├── BERSequence.java
│   │                   │   ├── BERSequenceGenerator.java
│   │                   │   ├── BERSequenceParser.java
│   │                   │   ├── BERSet.java
│   │                   │   ├── BERSetParser.java
│   │                   │   ├── BERTaggedObject.java
│   │                   │   ├── BERTaggedObjectParser.java
│   │                   │   ├── BERTags.java
│   │                   │   ├── ConstructedOctetStream.java
│   │                   │   ├── DERApplicationSpecific.java
│   │                   │   ├── DERBMPString.java
│   │                   │   ├── DERBitString.java
│   │                   │   ├── DERBoolean.java
│   │                   │   ├── DEREncodableVector.java
│   │                   │   ├── DEREnumerated.java
│   │                   │   ├── DERExternal.java
│   │                   │   ├── DERExternalParser.java
│   │                   │   ├── DERFactory.java
│   │                   │   ├── DERGeneralString.java
│   │                   │   ├── DERGeneralizedTime.java
│   │                   │   ├── DERGenerator.java
│   │                   │   ├── DERIA5String.java
│   │                   │   ├── DERInteger.java
│   │                   │   ├── DERNull.java
│   │                   │   ├── DERNumericString.java
│   │                   │   ├── DERObjectIdentifier.java
│   │                   │   ├── DEROctetString.java
│   │                   │   ├── DEROctetStringParser.java
│   │                   │   ├── DEROutputStream.java
│   │                   │   ├── DERPrintableString.java
│   │                   │   ├── DERSequence.java
│   │                   │   ├── DERSequenceGenerator.java
│   │                   │   ├── DERSequenceParser.java
│   │                   │   ├── DERSet.java
│   │                   │   ├── DERSetParser.java
│   │                   │   ├── DERT61String.java
│   │                   │   ├── DERT61UTF8String.java
│   │                   │   ├── DERTaggedObject.java
│   │                   │   ├── DERTags.java
│   │                   │   ├── DERUTCTime.java
│   │                   │   ├── DERUTF8String.java
│   │                   │   ├── DERUniversalString.java
│   │                   │   ├── DERVisibleString.java
│   │                   │   ├── DLOutputStream.java
│   │                   │   ├── DLSequence.java
│   │                   │   ├── DLSet.java
│   │                   │   ├── DLTaggedObject.java
│   │                   │   ├── DefiniteLengthInputStream.java
│   │                   │   ├── InMemoryRepresentable.java
│   │                   │   ├── IndefiniteLengthInputStream.java
│   │                   │   ├── LazyConstructionEnumeration.java
│   │                   │   ├── LazyEncodedSequence.java
│   │                   │   ├── LimitedInputStream.java
│   │                   │   ├── OIDTokenizer.java
│   │                   │   ├── StreamUtil.java
│   │                   │   ├── cryptopro/
│   │                   │   │   ├── CryptoProObjectIdentifiers.java
│   │                   │   │   └── ECGOST3410NamedCurves.java
│   │                   │   ├── kisa/
│   │                   │   │   └── KISAObjectIdentifiers.java
│   │                   │   ├── nist/
│   │                   │   │   ├── NISTNamedCurves.java
│   │                   │   │   └── NISTObjectIdentifiers.java
│   │                   │   ├── ntt/
│   │                   │   │   └── NTTObjectIdentifiers.java
│   │                   │   ├── oiw/
│   │                   │   │   └── OIWObjectIdentifiers.java
│   │                   │   ├── pkcs/
│   │                   │   │   ├── PKCSObjectIdentifiers.java
│   │                   │   │   ├── PrivateKeyInfo.java
│   │                   │   │   └── RSASSAPSSparams.java
│   │                   │   ├── sec/
│   │                   │   │   ├── SECNamedCurves.java
│   │                   │   │   └── SECObjectIdentifiers.java
│   │                   │   ├── teletrust/
│   │                   │   │   ├── TeleTrusTNamedCurves.java
│   │                   │   │   └── TeleTrusTObjectIdentifiers.java
│   │                   │   ├── x500/
│   │                   │   │   ├── AttributeTypeAndValue.java
│   │                   │   │   ├── RDN.java
│   │                   │   │   ├── X500Name.java
│   │                   │   │   ├── X500NameBuilder.java
│   │                   │   │   ├── X500NameStyle.java
│   │                   │   │   └── style/
│   │                   │   │       ├── BCStyle.java
│   │                   │   │       ├── IETFUtils.java
│   │                   │   │       └── X500NameTokenizer.java
│   │                   │   ├── x509/
│   │                   │   │   ├── AlgorithmIdentifier.java
│   │                   │   │   ├── AttCertIssuer.java
│   │                   │   │   ├── AttCertValidityPeriod.java
│   │                   │   │   ├── Attribute.java
│   │                   │   │   ├── AttributeCertificate.java
│   │                   │   │   ├── AttributeCertificateInfo.java
│   │                   │   │   ├── AuthorityKeyIdentifier.java
│   │                   │   │   ├── BasicConstraints.java
│   │                   │   │   ├── Certificate.java
│   │                   │   │   ├── CertificateList.java
│   │                   │   │   ├── DistributionPointName.java
│   │                   │   │   ├── ExtendedKeyUsage.java
│   │                   │   │   ├── Extension.java
│   │                   │   │   ├── Extensions.java
│   │                   │   │   ├── ExtensionsGenerator.java
│   │                   │   │   ├── GeneralName.java
│   │                   │   │   ├── GeneralNames.java
│   │                   │   │   ├── Holder.java
│   │                   │   │   ├── IssuerSerial.java
│   │                   │   │   ├── IssuingDistributionPoint.java
│   │                   │   │   ├── KeyPurposeId.java
│   │                   │   │   ├── KeyUsage.java
│   │                   │   │   ├── ObjectDigestInfo.java
│   │                   │   │   ├── ReasonFlags.java
│   │                   │   │   ├── SubjectKeyIdentifier.java
│   │                   │   │   ├── SubjectPublicKeyInfo.java
│   │                   │   │   ├── TBSCertList.java
│   │                   │   │   ├── TBSCertificate.java
│   │                   │   │   ├── Time.java
│   │                   │   │   ├── V2Form.java
│   │                   │   │   ├── V3TBSCertificateGenerator.java
│   │                   │   │   ├── X509DefaultEntryConverter.java
│   │                   │   │   ├── X509Extension.java
│   │                   │   │   ├── X509Extensions.java
│   │                   │   │   ├── X509Name.java
│   │                   │   │   ├── X509NameEntryConverter.java
│   │                   │   │   ├── X509NameTokenizer.java
│   │                   │   │   └── X509ObjectIdentifiers.java
│   │                   │   └── x9/
│   │                   │       ├── X962NamedCurves.java
│   │                   │       ├── X962Parameters.java
│   │                   │       ├── X9Curve.java
│   │                   │       ├── X9ECParameters.java
│   │                   │       ├── X9ECParametersHolder.java
│   │                   │       ├── X9ECPoint.java
│   │                   │       ├── X9FieldElement.java
│   │                   │       ├── X9FieldID.java
│   │                   │       ├── X9IntegerConverter.java
│   │                   │       └── X9ObjectIdentifiers.java
│   │                   ├── cert/
│   │                   │   ├── AttributeCertificateHolder.java
│   │                   │   ├── AttributeCertificateIssuer.java
│   │                   │   ├── CertException.java
│   │                   │   ├── CertIOException.java
│   │                   │   ├── CertRuntimeException.java
│   │                   │   ├── CertUtils.java
│   │                   │   ├── X509AttributeCertificateHolder.java
│   │                   │   ├── X509CRLEntryHolder.java
│   │                   │   ├── X509CRLHolder.java
│   │                   │   ├── X509CertificateHolder.java
│   │                   │   ├── X509ExtensionUtils.java
│   │                   │   ├── X509v3CertificateBuilder.java
│   │                   │   └── jcajce/
│   │                   │       ├── CertHelper.java
│   │                   │       ├── DefaultCertHelper.java
│   │                   │       ├── JcaX509CertificateConverter.java
│   │                   │       ├── JcaX509CertificateHolder.java
│   │                   │       ├── JcaX509ExtensionUtils.java
│   │                   │       ├── JcaX509v3CertificateBuilder.java
│   │                   │       ├── NamedCertHelper.java
│   │                   │       └── ProviderCertHelper.java
│   │                   ├── crypto/
│   │                   │   ├── CipherParameters.java
│   │                   │   ├── Digest.java
│   │                   │   ├── ExtendedDigest.java
│   │                   │   ├── digests/
│   │                   │   │   ├── GeneralDigest.java
│   │                   │   │   └── SHA1Digest.java
│   │                   │   ├── params/
│   │                   │   │   ├── AsymmetricKeyParameter.java
│   │                   │   │   ├── ECDomainParameters.java
│   │                   │   │   ├── ECKeyParameters.java
│   │                   │   │   ├── ECPrivateKeyParameters.java
│   │                   │   │   └── ECPublicKeyParameters.java
│   │                   │   └── util/
│   │                   │       └── Pack.java
│   │                   ├── math/
│   │                   │   └── ec/
│   │                   │       ├── ECConstants.java
│   │                   │       ├── ECCurve.java
│   │                   │       ├── ECFieldElement.java
│   │                   │       ├── ECMultiplier.java
│   │                   │       ├── ECPoint.java
│   │                   │       ├── FpNafMultiplier.java
│   │                   │       ├── IntArray.java
│   │                   │       ├── PreCompInfo.java
│   │                   │       ├── SimpleBigDecimal.java
│   │                   │       ├── Tnaf.java
│   │                   │       ├── WNafMultiplier.java
│   │                   │       ├── WNafPreCompInfo.java
│   │                   │       ├── WTauNafMultiplier.java
│   │                   │       ├── WTauNafPreCompInfo.java
│   │                   │       └── ZTauElement.java
│   │                   ├── operator/
│   │                   │   ├── ContentSigner.java
│   │                   │   ├── ContentVerifier.java
│   │                   │   ├── ContentVerifierProvider.java
│   │                   │   ├── DefaultSignatureAlgorithmIdentifierFinder.java
│   │                   │   ├── DigestCalculator.java
│   │                   │   ├── DigestCalculatorProvider.java
│   │                   │   ├── OperatorCreationException.java
│   │                   │   ├── OperatorException.java
│   │                   │   ├── OperatorStreamException.java
│   │                   │   ├── RuntimeOperatorException.java
│   │                   │   └── SignatureAlgorithmIdentifierFinder.java
│   │                   └── util/
│   │                       ├── Arrays.java
│   │                       ├── IPAddress.java
│   │                       ├── Memoable.java
│   │                       ├── Selector.java
│   │                       ├── Strings.java
│   │                       ├── encoders/
│   │                       │   ├── DecoderException.java
│   │                       │   ├── Encoder.java
│   │                       │   ├── EncoderException.java
│   │                       │   ├── Hex.java
│   │                       │   └── HexEncoder.java
│   │                       └── io/
│   │                           ├── StreamOverflowException.java
│   │                           └── Streams.java
│   └── nist_sip/
│       ├── AndroidManifestLibrary.xml
│       ├── build.gradle
│       └── src/
│           ├── gov2/
│           │   └── nist/
│           │       ├── core/
│           │       │   ├── Debug.java
│           │       │   ├── DuplicateNameValueList.java
│           │       │   ├── GenericObject.java
│           │       │   ├── GenericObjectList.java
│           │       │   ├── Host.java
│           │       │   ├── HostNameParser.java
│           │       │   ├── HostPort.java
│           │       │   ├── InternalErrorHandler.java
│           │       │   ├── LexerCore.java
│           │       │   ├── LogLevels.java
│           │       │   ├── LogWriter.java
│           │       │   ├── Match.java
│           │       │   ├── MultiValueMap.java
│           │       │   ├── MultiValueMapImpl.java
│           │       │   ├── NameValue.java
│           │       │   ├── NameValueList.java
│           │       │   ├── PackageNames.java
│           │       │   ├── ParserCore.java
│           │       │   ├── Separators.java
│           │       │   ├── ServerLogger.java
│           │       │   ├── StackLogger.java
│           │       │   ├── StringTokenizer.java
│           │       │   ├── ThreadAuditor.java
│           │       │   ├── Token.java
│           │       │   └── net/
│           │       │       ├── AddressResolver.java
│           │       │       ├── DefaultNetworkLayer.java
│           │       │       ├── NetworkLayer.java
│           │       │       └── SslNetworkLayer.java
│           │       └── javax2/
│           │           └── sip/
│           │               ├── ClientTransactionExt.java
│           │               ├── DefaultAddressResolver.java
│           │               ├── DialogExt.java
│           │               ├── DialogFilter.java
│           │               ├── DialogTimeoutEvent.java
│           │               ├── EventScanner.java
│           │               ├── EventWrapper.java
│           │               ├── ListeningPointExt.java
│           │               ├── ListeningPointImpl.java
│           │               ├── LogRecord.java
│           │               ├── LogRecordFactory.java
│           │               ├── NistSipMessageFactoryImpl.java
│           │               ├── ResponseEventExt.java
│           │               ├── SIPConstants.java
│           │               ├── ServerTransactionExt.java
│           │               ├── SipListenerExt.java
│           │               ├── SipProviderExt.java
│           │               ├── SipProviderImpl.java
│           │               ├── SipStackExt.java
│           │               ├── SipStackImpl.java
│           │               ├── TransactionExt.java
│           │               ├── Utils.java
│           │               ├── UtilsExt.java
│           │               ├── address/
│           │               │   ├── AddressFactoryImpl.java
│           │               │   ├── AddressImpl.java
│           │               │   ├── Authority.java
│           │               │   ├── GenericURI.java
│           │               │   ├── NetObject.java
│           │               │   ├── NetObjectList.java
│           │               │   ├── ParameterNames.java
│           │               │   ├── RFC2396UrlDecoder.java
│           │               │   ├── RouterExt.java
│           │               │   ├── SipURIExt.java
│           │               │   ├── SipUri.java
│           │               │   ├── TelURLImpl.java
│           │               │   ├── TelephoneNumber.java
│           │               │   └── UserInfo.java
│           │               ├── clientauthutils/
│           │               │   ├── AccountManager.java
│           │               │   ├── AuthenticationHelper.java
│           │               │   ├── AuthenticationHelperImpl.java
│           │               │   ├── CredentialsCache.java
│           │               │   ├── MessageDigestAlgorithm.java
│           │               │   ├── SecureAccountManager.java
│           │               │   ├── UserCredentialHash.java
│           │               │   └── UserCredentials.java
│           │               ├── header/
│           │               │   ├── Accept.java
│           │               │   ├── AcceptEncoding.java
│           │               │   ├── AcceptEncodingList.java
│           │               │   ├── AcceptLanguage.java
│           │               │   ├── AcceptLanguageList.java
│           │               │   ├── AcceptList.java
│           │               │   ├── AddressParameters.java
│           │               │   ├── AddressParametersHeader.java
│           │               │   ├── AlertInfo.java
│           │               │   ├── AlertInfoList.java
│           │               │   ├── Allow.java
│           │               │   ├── AllowEvents.java
│           │               │   ├── AllowEventsList.java
│           │               │   ├── AllowList.java
│           │               │   ├── AuthenticationHeader.java
│           │               │   ├── AuthenticationInfo.java
│           │               │   ├── AuthenticationInfoList.java
│           │               │   ├── Authorization.java
│           │               │   ├── AuthorizationList.java
│           │               │   ├── CSeq.java
│           │               │   ├── CallID.java
│           │               │   ├── CallIdentifier.java
│           │               │   ├── CallInfo.java
│           │               │   ├── CallInfoList.java
│           │               │   ├── Challenge.java
│           │               │   ├── Contact.java
│           │               │   ├── ContactList.java
│           │               │   ├── ContentDisposition.java
│           │               │   ├── ContentEncoding.java
│           │               │   ├── ContentEncodingList.java
│           │               │   ├── ContentLanguage.java
│           │               │   ├── ContentLanguageList.java
│           │               │   ├── ContentLength.java
│           │               │   ├── ContentType.java
│           │               │   ├── Credentials.java
│           │               │   ├── ErrorInfo.java
│           │               │   ├── ErrorInfoList.java
│           │               │   ├── Event.java
│           │               │   ├── Expires.java
│           │               │   ├── ExtensionHeaderImpl.java
│           │               │   ├── ExtensionHeaderList.java
│           │               │   ├── From.java
│           │               │   ├── HeaderExt.java
│           │               │   ├── HeaderFactoryExt.java
│           │               │   ├── HeaderFactoryImpl.java
│           │               │   ├── InReplyTo.java
│           │               │   ├── InReplyToList.java
│           │               │   ├── Indentation.java
│           │               │   ├── MaxForwards.java
│           │               │   ├── MediaRange.java
│           │               │   ├── MimeVersion.java
│           │               │   ├── MinExpires.java
│           │               │   ├── NameMap.java
│           │               │   ├── Organization.java
│           │               │   ├── ParameterNames.java
│           │               │   ├── ParametersHeader.java
│           │               │   ├── Priority.java
│           │               │   ├── Protocol.java
│           │               │   ├── ProxyAuthenticate.java
│           │               │   ├── ProxyAuthenticateList.java
│           │               │   ├── ProxyAuthorization.java
│           │               │   ├── ProxyAuthorizationList.java
│           │               │   ├── ProxyRequire.java
│           │               │   ├── ProxyRequireList.java
│           │               │   ├── RAck.java
│           │               │   ├── RSeq.java
│           │               │   ├── Reason.java
│           │               │   ├── ReasonList.java
│           │               │   ├── RecordRoute.java
│           │               │   ├── RecordRouteList.java
│           │               │   ├── ReferTo.java
│           │               │   ├── ReplyTo.java
│           │               │   ├── RequestLine.java
│           │               │   ├── Require.java
│           │               │   ├── RequireList.java
│           │               │   ├── RetryAfter.java
│           │               │   ├── Route.java
│           │               │   ├── RouteList.java
│           │               │   ├── SIPDate.java
│           │               │   ├── SIPDateHeader.java
│           │               │   ├── SIPETag.java
│           │               │   ├── SIPHeader.java
│           │               │   ├── SIPHeaderList.java
│           │               │   ├── SIPHeaderNames.java
│           │               │   ├── SIPHeaderNamesCache.java
│           │               │   ├── SIPIfMatch.java
│           │               │   ├── SIPObject.java
│           │               │   ├── SIPObjectList.java
│           │               │   ├── Server.java
│           │               │   ├── SipRequestLine.java
│           │               │   ├── SipStatusLine.java
│           │               │   ├── StatusLine.java
│           │               │   ├── Subject.java
│           │               │   ├── SubscriptionState.java
│           │               │   ├── Supported.java
│           │               │   ├── SupportedList.java
│           │               │   ├── TimeStamp.java
│           │               │   ├── To.java
│           │               │   ├── Unsupported.java
│           │               │   ├── UnsupportedList.java
│           │               │   ├── UserAgent.java
│           │               │   ├── Via.java
│           │               │   ├── ViaHeaderExt.java
│           │               │   ├── ViaList.java
│           │               │   ├── WWWAuthenticate.java
│           │               │   ├── WWWAuthenticateList.java
│           │               │   ├── Warning.java
│           │               │   ├── WarningList.java
│           │               │   ├── extensions/
│           │               │   │   ├── Join.java
│           │               │   │   ├── JoinHeader.java
│           │               │   │   ├── MinSE.java
│           │               │   │   ├── MinSEHeader.java
│           │               │   │   ├── References.java
│           │               │   │   ├── ReferencesHeader.java
│           │               │   │   ├── ReferredBy.java
│           │               │   │   ├── ReferredByHeader.java
│           │               │   │   ├── Replaces.java
│           │               │   │   ├── ReplacesHeader.java
│           │               │   │   ├── SessionExpires.java
│           │               │   │   └── SessionExpiresHeader.java
│           │               │   └── ims/
│           │               │       ├── AddressHeaderIms.java
│           │               │       ├── AuthorizationHeaderIms.java
│           │               │       ├── PAccessNetworkInfo.java
│           │               │       ├── PAccessNetworkInfoHeader.java
│           │               │       ├── PAssertedIdentity.java
│           │               │       ├── PAssertedIdentityHeader.java
│           │               │       ├── PAssertedIdentityList.java
│           │               │       ├── PAssertedService.java
│           │               │       ├── PAssertedServiceHeader.java
│           │               │       ├── PAssociatedURI.java
│           │               │       ├── PAssociatedURIHeader.java
│           │               │       ├── PAssociatedURIList.java
│           │               │       ├── PCalledPartyID.java
│           │               │       ├── PCalledPartyIDHeader.java
│           │               │       ├── PChargingFunctionAddresses.java
│           │               │       ├── PChargingFunctionAddressesHeader.java
│           │               │       ├── PChargingVector.java
│           │               │       ├── PChargingVectorHeader.java
│           │               │       ├── PMediaAuthorization.java
│           │               │       ├── PMediaAuthorizationHeader.java
│           │               │       ├── PMediaAuthorizationList.java
│           │               │       ├── PPreferredIdentity.java
│           │               │       ├── PPreferredIdentityHeader.java
│           │               │       ├── PPreferredService.java
│           │               │       ├── PPreferredServiceHeader.java
│           │               │       ├── PProfileKey.java
│           │               │       ├── PProfileKeyHeader.java
│           │               │       ├── PServedUser.java
│           │               │       ├── PServedUserHeader.java
│           │               │       ├── PUserDatabase.java
│           │               │       ├── PUserDatabaseHeader.java
│           │               │       ├── PVisitedNetworkID.java
│           │               │       ├── PVisitedNetworkIDHeader.java
│           │               │       ├── PVisitedNetworkIDList.java
│           │               │       ├── ParameterNamesIms.java
│           │               │       ├── Path.java
│           │               │       ├── PathHeader.java
│           │               │       ├── PathList.java
│           │               │       ├── Privacy.java
│           │               │       ├── PrivacyHeader.java
│           │               │       ├── PrivacyList.java
│           │               │       ├── SIPHeaderNamesIms.java
│           │               │       ├── SecurityAgree.java
│           │               │       ├── SecurityAgreeHeader.java
│           │               │       ├── SecurityClient.java
│           │               │       ├── SecurityClientHeader.java
│           │               │       ├── SecurityClientList.java
│           │               │       ├── SecurityServer.java
│           │               │       ├── SecurityServerHeader.java
│           │               │       ├── SecurityServerList.java
│           │               │       ├── SecurityVerify.java
│           │               │       ├── SecurityVerifyHeader.java
│           │               │       ├── SecurityVerifyList.java
│           │               │       ├── ServiceRoute.java
│           │               │       ├── ServiceRouteHeader.java
│           │               │       ├── ServiceRouteList.java
│           │               │       └── WWWAuthenticateHeaderIms.java
│           │               ├── message/
│           │               │   ├── Content.java
│           │               │   ├── ContentImpl.java
│           │               │   ├── HeaderIterator.java
│           │               │   ├── ListMap.java
│           │               │   ├── MessageExt.java
│           │               │   ├── MessageFactoryExt.java
│           │               │   ├── MessageFactoryImpl.java
│           │               │   ├── MessageObject.java
│           │               │   ├── MultipartMimeContent.java
│           │               │   ├── MultipartMimeContentImpl.java
│           │               │   ├── RequestExt.java
│           │               │   ├── ResponseExt.java
│           │               │   ├── SIPDuplicateHeaderException.java
│           │               │   ├── SIPMessage.java
│           │               │   ├── SIPRequest.java
│           │               │   └── SIPResponse.java
│           │               ├── parser/
│           │               │   ├── AcceptEncodingParser.java
│           │               │   ├── AcceptLanguageParser.java
│           │               │   ├── AcceptParser.java
│           │               │   ├── AddressParametersParser.java
│           │               │   ├── AddressParser.java
│           │               │   ├── AlertInfoParser.java
│           │               │   ├── AllowEventsParser.java
│           │               │   ├── AllowParser.java
│           │               │   ├── AuthenticationInfoParser.java
│           │               │   ├── AuthorizationParser.java
│           │               │   ├── CSeqParser.java
│           │               │   ├── CallIDParser.java
│           │               │   ├── CallInfoParser.java
│           │               │   ├── ChallengeParser.java
│           │               │   ├── ContactParser.java
│           │               │   ├── ContentDispositionParser.java
│           │               │   ├── ContentEncodingParser.java
│           │               │   ├── ContentLanguageParser.java
│           │               │   ├── ContentLengthParser.java
│           │               │   ├── ContentTypeParser.java
│           │               │   ├── DateParser.java
│           │               │   ├── ErrorInfoParser.java
│           │               │   ├── EventParser.java
│           │               │   ├── ExpiresParser.java
│           │               │   ├── FromParser.java
│           │               │   ├── HeaderParser.java
│           │               │   ├── InReplyToParser.java
│           │               │   ├── Lexer.java
│           │               │   ├── MaxForwardsParser.java
│           │               │   ├── MimeVersionParser.java
│           │               │   ├── MinExpiresParser.java
│           │               │   ├── OrganizationParser.java
│           │               │   ├── ParametersParser.java
│           │               │   ├── ParseExceptionListener.java
│           │               │   ├── Parser.java
│           │               │   ├── ParserFactory.java
│           │               │   ├── Pipeline.java
│           │               │   ├── PipelinedMsgParser.java
│           │               │   ├── PriorityParser.java
│           │               │   ├── ProxyAuthenticateParser.java
│           │               │   ├── ProxyAuthorizationParser.java
│           │               │   ├── ProxyRequireParser.java
│           │               │   ├── RAckParser.java
│           │               │   ├── RSeqParser.java
│           │               │   ├── ReasonParser.java
│           │               │   ├── RecordRouteParser.java
│           │               │   ├── ReferToParser.java
│           │               │   ├── ReplyToParser.java
│           │               │   ├── RequestLineParser.java
│           │               │   ├── RequireParser.java
│           │               │   ├── RetryAfterParser.java
│           │               │   ├── RouteParser.java
│           │               │   ├── SIPETagParser.java
│           │               │   ├── SIPIfMatchParser.java
│           │               │   ├── SIPMessageListener.java
│           │               │   ├── ServerParser.java
│           │               │   ├── StatusLineParser.java
│           │               │   ├── StringMsgParser.java
│           │               │   ├── SubjectParser.java
│           │               │   ├── SubscriptionStateParser.java
│           │               │   ├── SupportedParser.java
│           │               │   ├── TimeStampParser.java
│           │               │   ├── ToParser.java
│           │               │   ├── TokenNames.java
│           │               │   ├── TokenTypes.java
│           │               │   ├── URLParser.java
│           │               │   ├── UnsupportedParser.java
│           │               │   ├── UserAgentParser.java
│           │               │   ├── ViaParser.java
│           │               │   ├── WWWAuthenticateParser.java
│           │               │   ├── WarningParser.java
│           │               │   ├── extensions/
│           │               │   │   ├── JoinParser.java
│           │               │   │   ├── MinSEParser.java
│           │               │   │   ├── ReferencesParser.java
│           │               │   │   ├── ReferredByParser.java
│           │               │   │   ├── ReplacesParser.java
│           │               │   │   └── SessionExpiresParser.java
│           │               │   └── ims/
│           │               │       ├── AddressHeaderParser.java
│           │               │       ├── PAccessNetworkInfoParser.java
│           │               │       ├── PAssertedIdentityParser.java
│           │               │       ├── PAssertedServiceParser.java
│           │               │       ├── PAssociatedURIParser.java
│           │               │       ├── PCalledPartyIDParser.java
│           │               │       ├── PChargingFunctionAddressesParser.java
│           │               │       ├── PChargingVectorParser.java
│           │               │       ├── PMediaAuthorizationParser.java
│           │               │       ├── PPreferredIdentityParser.java
│           │               │       ├── PPreferredServiceParser.java
│           │               │       ├── PProfileKeyParser.java
│           │               │       ├── PServedUserParser.java
│           │               │       ├── PUserDatabaseParser.java
│           │               │       ├── PVisitedNetworkIDParser.java
│           │               │       ├── PathParser.java
│           │               │       ├── PrivacyParser.java
│           │               │       ├── SecurityAgreeParser.java
│           │               │       ├── SecurityClientParser.java
│           │               │       ├── SecurityServerParser.java
│           │               │       ├── SecurityVerifyParser.java
│           │               │       ├── ServiceRouteParser.java
│           │               │       └── TokenNamesIms.java
│           │               └── stack/
│           │                   ├── DefaultMessageLogFactory.java
│           │                   ├── DefaultRouter.java
│           │                   ├── HandshakeCompletedListenerImpl.java
│           │                   ├── HopImpl.java
│           │                   ├── IOHandler.java
│           │                   ├── MessageChannel.java
│           │                   ├── MessageLog.java
│           │                   ├── MessageProcessor.java
│           │                   ├── RawMessageChannel.java
│           │                   ├── SIPClientTransaction.java
│           │                   ├── SIPDialog.java
│           │                   ├── SIPDialogErrorEvent.java
│           │                   ├── SIPDialogEventListener.java
│           │                   ├── SIPServerTransaction.java
│           │                   ├── SIPStackTimerTask.java
│           │                   ├── SIPTransaction.java
│           │                   ├── SIPTransactionErrorEvent.java
│           │                   ├── SIPTransactionEventListener.java
│           │                   ├── SIPTransactionStack.java
│           │                   ├── ServerLog.java
│           │                   ├── ServerRequestInterface.java
│           │                   ├── ServerResponseInterface.java
│           │                   ├── StackMessageFactory.java
│           │                   ├── TCPMessageChannel.java
│           │                   ├── TCPMessageProcessor.java
│           │                   ├── TLSMessageChannel.java
│           │                   ├── TLSMessageProcessor.java
│           │                   ├── UDPMessageChannel.java
│           │                   └── UDPMessageProcessor.java
│           └── javax2/
│               └── sip/
│                   ├── ClientTransaction.java
│                   ├── Dialog.java
│                   ├── DialogDoesNotExistException.java
│                   ├── DialogState.java
│                   ├── DialogTerminatedEvent.java
│                   ├── IOExceptionEvent.java
│                   ├── InvalidArgumentException.java
│                   ├── ListeningPoint.java
│                   ├── ObjectInUseException.java
│                   ├── PeerUnavailableException.java
│                   ├── ProviderDoesNotExistException.java
│                   ├── RequestEvent.java
│                   ├── ResponseEvent.java
│                   ├── ServerTransaction.java
│                   ├── SipException.java
│                   ├── SipFactory.java
│                   ├── SipListener.java
│                   ├── SipProvider.java
│                   ├── SipStack.java
│                   ├── Timeout.java
│                   ├── TimeoutEvent.java
│                   ├── Transaction.java
│                   ├── TransactionAlreadyExistsException.java
│                   ├── TransactionDoesNotExistException.java
│                   ├── TransactionState.java
│                   ├── TransactionTerminatedEvent.java
│                   ├── TransactionUnavailableException.java
│                   ├── TransportNotSupportedException.java
│                   ├── address/
│                   │   ├── Address.java
│                   │   ├── AddressFactory.java
│                   │   ├── Hop.java
│                   │   ├── Router.java
│                   │   ├── SipURI.java
│                   │   ├── TelURL.java
│                   │   └── URI.java
│                   ├── header/
│                   │   ├── AcceptEncodingHeader.java
│                   │   ├── AcceptHeader.java
│                   │   ├── AcceptLanguageHeader.java
│                   │   ├── AlertInfoHeader.java
│                   │   ├── AllowEventsHeader.java
│                   │   ├── AllowHeader.java
│                   │   ├── AuthenticationInfoHeader.java
│                   │   ├── AuthorizationHeader.java
│                   │   ├── CSeqHeader.java
│                   │   ├── CallIdHeader.java
│                   │   ├── CallInfoHeader.java
│                   │   ├── ContactHeader.java
│                   │   ├── ContentDispositionHeader.java
│                   │   ├── ContentEncodingHeader.java
│                   │   ├── ContentLanguageHeader.java
│                   │   ├── ContentLengthHeader.java
│                   │   ├── ContentTypeHeader.java
│                   │   ├── DateHeader.java
│                   │   ├── Encoding.java
│                   │   ├── ErrorInfoHeader.java
│                   │   ├── EventHeader.java
│                   │   ├── ExpiresHeader.java
│                   │   ├── ExtensionHeader.java
│                   │   ├── FromHeader.java
│                   │   ├── Header.java
│                   │   ├── HeaderAddress.java
│                   │   ├── HeaderFactory.java
│                   │   ├── InReplyToHeader.java
│                   │   ├── MaxForwardsHeader.java
│                   │   ├── MediaType.java
│                   │   ├── MimeVersionHeader.java
│                   │   ├── MinExpiresHeader.java
│                   │   ├── OptionTag.java
│                   │   ├── OrganizationHeader.java
│                   │   ├── Parameters.java
│                   │   ├── PriorityHeader.java
│                   │   ├── ProxyAuthenticateHeader.java
│                   │   ├── ProxyAuthorizationHeader.java
│                   │   ├── ProxyRequireHeader.java
│                   │   ├── RAckHeader.java
│                   │   ├── RSeqHeader.java
│                   │   ├── ReasonHeader.java
│                   │   ├── RecordRouteHeader.java
│                   │   ├── ReferToHeader.java
│                   │   ├── ReplyToHeader.java
│                   │   ├── RequireHeader.java
│                   │   ├── RetryAfterHeader.java
│                   │   ├── RouteHeader.java
│                   │   ├── SIPETagHeader.java
│                   │   ├── SIPIfMatchHeader.java
│                   │   ├── ServerHeader.java
│                   │   ├── SubjectHeader.java
│                   │   ├── SubscriptionStateHeader.java
│                   │   ├── SupportedHeader.java
│                   │   ├── TimeStampHeader.java
│                   │   ├── ToHeader.java
│                   │   ├── TooManyHopsException.java
│                   │   ├── UnsupportedHeader.java
│                   │   ├── UserAgentHeader.java
│                   │   ├── ViaHeader.java
│                   │   ├── WWWAuthenticateHeader.java
│                   │   └── WarningHeader.java
│                   └── message/
│                       ├── Message.java
│                       ├── MessageFactory.java
│                       ├── Request.java
│                       └── Response.java
├── mediaplayer/
│   ├── AndroidManifest.xml
│   ├── build.gradle
│   ├── proguard-project.txt
│   ├── project.properties
│   └── src/
│       └── com/
│           └── orangelabs/
│               └── rcs/
│                   └── core/
│                       └── ims/
│                           └── protocol/
│                               └── rtp/
│                                   ├── CodecChain.java
│                                   ├── DummyPacketGenerator.java
│                                   ├── MediaRegistry.java
│                                   ├── MediaRtpReceiver.java
│                                   ├── MediaRtpSender.java
│                                   ├── Processor.java
│                                   ├── RtpException.java
│                                   ├── RtpUtils.java
│                                   ├── VideoRtpReceiver.java
│                                   ├── VideoRtpSender.java
│                                   ├── codec/
│                                   │   ├── Codec.java
│                                   │   └── video/
│                                   │       ├── VideoCodec.java
│                                   │       └── h264/
│                                   │           ├── H264Config.java
│                                   │           ├── H264RtpHeaders.java
│                                   │           ├── JavaDepacketizer.java
│                                   │           ├── JavaPacketizer.java
│                                   │           ├── NalUnitHeader.java
│                                   │           ├── NalUnitType.java
│                                   │           ├── decoder/
│                                   │           │   └── NativeH264Decoder.java
│                                   │           ├── encoder/
│                                   │           │   ├── NativeH264Encoder.java
│                                   │           │   └── NativeH264EncoderParams.java
│                                   │           └── profiles/
│                                   │               ├── H264Profile.java
│                                   │               ├── H264Profile1.java
│                                   │               ├── H264Profile1_1.java
│                                   │               ├── H264Profile1_2.java
│                                   │               ├── H264Profile1_3.java
│                                   │               ├── H264Profile1b.java
│                                   │               ├── H264TypeLevel.java
│                                   │               └── H264TypeProfile.java
│                                   ├── core/
│                                   │   ├── ReceptionReport.java
│                                   │   ├── RtcpAppPacket.java
│                                   │   ├── RtcpByePacket.java
│                                   │   ├── RtcpCompoundPacket.java
│                                   │   ├── RtcpPacket.java
│                                   │   ├── RtcpPacketReceiver.java
│                                   │   ├── RtcpPacketTransmitter.java
│                                   │   ├── RtcpPacketUtils.java
│                                   │   ├── RtcpReceiverReportPacket.java
│                                   │   ├── RtcpReport.java
│                                   │   ├── RtcpSdesBlock.java
│                                   │   ├── RtcpSdesItem.java
│                                   │   ├── RtcpSdesPacket.java
│                                   │   ├── RtcpSenderReportPacket.java
│                                   │   ├── RtcpSession.java
│                                   │   ├── RtcpStatisticsReceiver.java
│                                   │   ├── RtcpStatisticsTransmitter.java
│                                   │   ├── RtpExtensionHeader.java
│                                   │   ├── RtpPacket.java
│                                   │   ├── RtpPacketReceiver.java
│                                   │   ├── RtpPacketTransmitter.java
│                                   │   ├── RtpSource.java
│                                   │   ├── RtpStatisticsReceiver.java
│                                   │   └── RtpStatisticsTransmitter.java
│                                   ├── event/
│                                   │   ├── RtcpApplicationEvent.java
│                                   │   ├── RtcpByeEvent.java
│                                   │   ├── RtcpEvent.java
│                                   │   ├── RtcpEventListener.java
│                                   │   ├── RtcpReceiverReportEvent.java
│                                   │   ├── RtcpSdesEvent.java
│                                   │   └── RtcpSenderReportEvent.java
│                                   ├── format/
│                                   │   ├── DummyFormat.java
│                                   │   ├── Format.java
│                                   │   └── video/
│                                   │       ├── CameraOptions.java
│                                   │       ├── H264VideoFormat.java
│                                   │       ├── Orientation.java
│                                   │       ├── VideoFormat.java
│                                   │       └── VideoOrientation.java
│                                   ├── media/
│                                   │   ├── MediaException.java
│                                   │   ├── MediaInput.java
│                                   │   ├── MediaListener.java
│                                   │   ├── MediaOutput.java
│                                   │   ├── MediaSample.java
│                                   │   └── VideoSample.java
│                                   ├── stream/
│                                   │   ├── DummyPacketSourceStream.java
│                                   │   ├── MediaCaptureStream.java
│                                   │   ├── MediaRendererStream.java
│                                   │   ├── ProcessorInputStream.java
│                                   │   ├── ProcessorOutputStream.java
│                                   │   ├── RtpInputStream.java
│                                   │   ├── RtpOutputStream.java
│                                   │   ├── RtpStreamListener.java
│                                   │   ├── VideoCaptureStream.java
│                                   │   └── VideoRendererStream.java
│                                   └── util/
│                                       ├── AndroidDatagramConnection.java
│                                       ├── Buffer.java
│                                       ├── DatagramConnection.java
│                                       ├── FifoBuffer.java
│                                       ├── HexadecimalUtils.java
│                                       ├── NetworkRessourceManager.java
│                                       ├── Packet.java
│                                       └── SystemTimeBase.java
├── samples/
│   └── api/
│       ├── extension/
│       │   ├── AndroidManifest.xml
│       │   ├── LICENSE-2.0.txt
│       │   ├── README.md
│       │   ├── build.gradle
│       │   ├── default.properties
│       │   ├── proguard-project.txt
│       │   ├── project.properties
│       │   ├── res/
│       │   │   ├── layout/
│       │   │   │   └── main.xml
│       │   │   └── values/
│       │   │       └── strings.xml
│       │   └── src/
│       │       └── com/
│       │           └── gsma/
│       │               └── services/
│       │                   └── rcs/
│       │                       └── samples/
│       │                           └── extension/
│       │                               └── Main.java
│       └── tts/
│           ├── AndroidManifest.xml
│           ├── LICENSE-2.0.txt
│           ├── README.md
│           ├── build.gradle
│           ├── build.xml
│           ├── proguard-project.txt
│           ├── project.properties
│           ├── res/
│           │   ├── values/
│           │   │   └── strings.xml
│           │   └── xml/
│           │       └── tts_preferences.xml
│           └── src/
│               └── com/
│                   └── orangelabs/
│                       └── rcs/
│                           └── tts/
│                               ├── ChatEvent.java
│                               ├── Main.java
│                               ├── PlayTextToSpeech.java
│                               └── Registry.java
├── settings.gradle
├── studio/
│   └── README.md
├── templates-sdk/
│   ├── assets/
│   │   ├── android-developer-core.css
│   │   ├── android-developer-docs-devguide.css
│   │   ├── android-developer-docs.css
│   │   ├── android-developer-docs.js
│   │   ├── android-developer-reference.js
│   │   ├── carousel.js
│   │   ├── joyn-sdk.css
│   │   ├── joyn-sdk.js
│   │   ├── jquery-history.js
│   │   ├── prettify.js
│   │   ├── search_autocomplete.js
│   │   ├── skin-carousel-home.css
│   │   ├── skin-carousel-ri.css
│   │   ├── style.css
│   │   └── widget.js
│   ├── components/
│   │   ├── left_nav.cs
│   │   └── masthead.cs
│   ├── footer.cs
│   ├── head_tag.cs
│   └── macros.cs
├── tests/
│   ├── cts/
│   │   ├── provider/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       ├── androidTest/
│   │   │       │   └── java/
│   │   │       │       └── android/
│   │   │       │           └── tests/
│   │   │       │               └── provider/
│   │   │       │                   ├── CapabilitiesLogTest.java
│   │   │       │                   ├── ChatLogGroupChatTest.java
│   │   │       │                   ├── ChatLogMessageTest.java
│   │   │       │                   ├── FileTransferLogTest.java
│   │   │       │                   ├── GeolocSharingLogTest.java
│   │   │       │                   ├── GroupDeliveryInfoLogTest.java
│   │   │       │                   ├── HistoryLogTest.java
│   │   │       │                   ├── ImageSharingLogTest.java
│   │   │       │                   ├── Utils.java
│   │   │       │                   └── VideoSharingLogTest.java
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           └── res/
│   │   │               └── values/
│   │   │                   └── strings.xml
│   │   ├── run-test
│   │   └── signature/
│   │       ├── README.md
│   │       ├── build.gradle
│   │       └── src/
│   │           ├── androidTest/
│   │           │   └── java/
│   │           │       └── android/
│   │           │           └── tests/
│   │           │               └── sigtest/
│   │           │                   └── RcsApiSignatureTest.java
│   │           └── main/
│   │               ├── AndroidManifest.xml
│   │               ├── java/
│   │               │   └── android/
│   │               │       └── tests/
│   │               │           └── sigtest/
│   │               │               ├── JDiffClassDescription.java
│   │               │               ├── RcsApiSignatureTestResult.java
│   │               │               ├── ResultObserver.java
│   │               │               ├── SignatureTest.java
│   │               │               ├── SignatureTestActivity.java
│   │               │               ├── SignatureTestLog.java
│   │               │               └── ToTest.java
│   │               └── res/
│   │                   ├── layout/
│   │                   │   ├── rcs_api_signature.xml
│   │                   │   └── rcs_api_signature_item.xml
│   │                   ├── raw/
│   │                   │   └── excludepackages.txt
│   │                   ├── values/
│   │                   │   └── strings.xml
│   │                   └── xml/
│   │                       ├── albatros.xml
│   │                       ├── blackbird_1_0.xml
│   │                       ├── blackbird_1_5_1.xml
│   │                       └── crane_1_6_1.xml
│   ├── multistack/
│   │   ├── AndroidManifest.xml
│   │   ├── res/
│   │   │   ├── layout/
│   │   │   │   └── activity_main.xml
│   │   │   └── values/
│   │   │       └── strings.xml
│   │   └── src/
│   │       └── com/
│   │           └── orangelabs/
│   │               └── test/
│   │                   └── stack2/
│   │                       ├── GetStatusReceiver.java
│   │                       └── MainActivity.java
│   ├── samples/
│   │   ├── AndroidManifest.xml
│   │   ├── res/
│   │   │   └── values/
│   │   │       └── strings.xml
│   │   └── src/
│   │       └── com/
│   │           └── gsma/
│   │               └── rcs/
│   │                   └── api/
│   │                       ├── CapabilitySampleTest.java
│   │                       ├── ChatSampleTest.java
│   │                       ├── CodeSamplesInstrumentationTestRunner.java
│   │                       ├── ContactSampleTest.java
│   │                       ├── MultimediaSessionSampleTest.java
│   │                       └── Synchronizer.java
│   └── security-extension/
│       ├── AndroidManifest.xml
│       ├── install.bat
│       ├── res/
│       │   ├── layout/
│       │   │   └── activity_main.xml
│       │   └── values/
│       │       ├── dimens.xml
│       │       ├── strings.xml
│       │       └── styles.xml
│       ├── src/
│       │   └── com/
│       │       └── gsma/
│       │           └── rcs/
│       │               └── MainActivity.java
│       └── test_security_extension.apk
└── tools/
    ├── notification/
    │   ├── AndroidManifest.xml
    │   ├── README.md
    │   ├── build.gradle
    │   ├── build.xml
    │   ├── proguard-project.txt
    │   ├── project.properties
    │   ├── res/
    │   │   ├── values/
    │   │   │   ├── strings.xml
    │   │   │   └── styles.xml
    │   │   ├── values-de/
    │   │   │   └── strings.xml
    │   │   ├── values-fr/
    │   │   │   └── strings.xml
    │   │   ├── values-v11/
    │   │   │   └── styles.xml
    │   │   └── values-v14/
    │   │       └── styles.xml
    │   └── src/
    │       └── com/
    │           └── gsma/
    │               └── rcs/
    │                   └── notif/
    │                       ├── DeviceBoot.java
    │                       ├── LaunchServiceActivity.java
    │                       └── RcsServiceNotifManager.java
    ├── provisioning/
    │   ├── AndroidManifest.xml
    │   ├── README.md
    │   ├── build.gradle
    │   ├── proguard-project.txt
    │   ├── project.properties
    │   ├── res/
    │   │   ├── layout/
    │   │   │   └── activity_main.xml
    │   │   ├── values/
    │   │   │   ├── dimens.xml
    │   │   │   ├── strings.xml
    │   │   │   └── styles.xml
    │   │   ├── values-v11/
    │   │   │   └── styles.xml
    │   │   ├── values-v14/
    │   │   │   └── styles.xml
    │   │   └── values-w820dp/
    │   │       └── dimens.xml
    │   └── src/
    │       └── com/
    │           └── gsma/
    │               └── rcs/
    │                   └── tools/
    │                       └── http/
    │                           └── provisioning/
    │                               └── ProvisioningTemplateActivity.java
    └── settings/
        ├── AndroidManifest.xml
        ├── README.md
        ├── build.gradle
        ├── build.xml
        ├── project.properties
        ├── res/
        │   ├── layout/
        │   │   └── app_about.xml
        │   ├── values/
        │   │   └── strings.xml
        │   └── xml/
        │       ├── rcs_settings_messaging_preferences.xml
        │       ├── rcs_settings_preferences.xml
        │       └── rcs_settings_userprofile_preferences.xml
        └── src/
            └── com/
                └── gsma/
                    └── rcs/
                        └── core/
                            └── control/
                                ├── CoreControlApplication.java
                                └── settings/
                                    ├── AboutSettings.java
                                    ├── ControlCoreReceiver.java
                                    ├── MessagingSettingsDisplay.java
                                    ├── SettingsDisplay.java
                                    └── UserprofileSettingsDisplay.java

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
*.bak
gen
bin
.settings
.idea
.gradle
*.iml
*.jar
*.classpath
*.project
build
doclava
local.properties
/gradle.properties


================================================
FILE: README.md
================================================
# rcsjta
RCS-e stack for Android with GSMA API **RCS-e stack for Android with GSMA API**

<img src='https://github.com/android-rcs/rcsjta/blob/master/docs/website/twitter-bird-16x16.png'> <a href='http://twitter.com/androidrcsstack'>Follow @androidrcsstack</a><br>

The RCS-e stack is an open source implementation of the Rich Communication Suite standards for Google Android platform. This implementation is compliant to GSMA RCS-e Blackbird standards. Thanks to its client/server API, the stack may be easily integrated with existing native Android applications (e.g. address book, dialer) and permits to create new RCS applications (e.g. chat, widgets).

##About RCS, Rich Communication Suite:

The Rich Communication Suite Initiative is a GSM Association programme dedicated to deliver convergent rich communication services. RCS should be the first set of services using IMS architecture in the mobile field. "joyn" is the commercial name of RCS.

See also the RCS website at GSM Association, [http://www.gsma.com/rcs/](http://www.gsma.com/rcs/).

The RCS specifications (product, technical, API, Guidelines) are available at [http://www.gsma.com/network2020/rcs/specs-and-product-docs/](http://www.gsma.com/network2020/rcs/specs-and-product-docs/).

Note: the [supported standards](https://rawgit.com/android-rcs/rcsjta/master/docs/SUPPORTED-STANDARDS.txt).

##Licensing:
The RCS core stack is under [Apache 2 license](https://rawgit.com/android-rcs/rcsjta/master/core/LICENSE-2.0.txt) and uses the following open source libraries:

- the SIP stack comes from [NIST-SIP project] (http://jsip.java.net/'>http://jsip.java.net/), see [License](https://rawgit.com/android-rcs/rcsjta/master/core/LICENSE-NIST.txt).

- the DNS stack comes from [DNSJava project](http://www.dnsjava.org/), see [License](https://rawgit.com/android-rcs/rcsjta/master/core/LICENSE-DNS.txt).

- the cryptography API comes from Legion of the [Bouncy Castle Inc] (https://www.bouncycastle.org/), see [License](https://rawgit.com/android-rcs/rcsjta/master/core/LICENSE-BOUNCYCASTLE.txt).

##Project:

- see [Project management](https://rawgit.com/android-rcs/rcsjta/master/docs/RCSJTA_open_source.ppt).

- see [GIT branches](https://github.com/android-rcs/rcsjta/blob/wiki/Branches.md).

##RCS API definition:

- TAPI 1.5

  * see [TAPI 1.5.1 specification](https://rawgit.com/android-rcs/rcsjta/master/docs/tapi/RCC.53_v3.0_1.5.1-r1.docx).

  * see [TAPI 1.5.1 Javadoc] (https://rawgit.com/android-rcs/rcsjta.javadoc/javadoc1.5/index.html).
  

- TAPI 1.6

  * see [TAPI 1.6.1 specification](https://rawgit.com/android-rcs/rcsjta/master/docs/tapi/RCC.53_CR1005_1.6.1.docx).

  * see [TAPI 1.6.1 Javadoc] (https://rawgit.com/android-rcs/rcsjta.javadoc/javadoc1.6/index.html).


##SDK nightly builds:
- see latest SDK of [tapi_1.5](https://github.com/android-rcs/rcsjta.build/tree/tapi_1.5) branch.
- see latest SDK of [tapi_1.6](https://github.com/android-rcs/rcsjta.build/tree/tapi_1.6) branch.

##Stack overview:

<img src='https://github.com/android-rcs/rcsjta/blob/master/docs/website/overview.png'><br>

##More docs:

- see [Wiki](https://github.com/android-rcs/rcsjta/wiki).






================================================
FILE: RI/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest package="com.gsma.rcs.ri"
          xmlns:android="http://schemas.android.com/apk/res/android">

    <permission
        android:name="com.gsma.rcs.ri.permission.MAPS_RECEIVE"
        android:protectionLevel="signature"/>

    <uses-permission android:name="com.gsma.rcs.ri.permission.MAPS_RECEIVE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_CALL_LOG"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <!-- Required to show current location -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="com.gsma.services.permission.RCS"/>

    <!-- Required OpenGL ES 2.0. for Maps V2 -->
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>

    <application
        android:name="com.gsma.rcs.ri.RiApplication"
        android:allowBackup="false"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name">
        <meta-data
            android:name="com.gsma.services.rcs.capability.EXTENSION"
            android:value="ext.messaging;ext.streaming"/>

        <uses-library android:name="com.google.android.maps"/>

        <!-- Insert here your own key for accessing the Google Maps Android API -->
        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="AIzaSyBzry65BIdSaSjXk3dsT1XMPyksclNCnVo"/>
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

        <!-- Main -->
        <activity
            android:name="com.gsma.rcs.ri.RI"
            android:label="@string/app_name"/>
        <activity
            android:name="com.gsma.rcs.ri.AboutRI"
            android:label="@string/menu_about"/>

        <receiver android:name="com.gsma.rcs.ri.DeviceBoot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>

        <service
            android:name="com.gsma.rcs.ri.RcsServiceNotifManager"
            android:exported="false"/>

        <!-- Intents API -->

        <activity
            android:name="com.gsma.rcs.ri.intents.TestIntentApps"
            android:label="@string/menu_apps"/>

        <!-- Service API -->

        <activity android:name="com.gsma.rcs.ri.service.TestServiceApi"/>
        <activity
            android:name="com.gsma.rcs.ri.service.ServiceStatus"
            android:label="@string/menu_service"/>
        <activity
            android:name="com.gsma.rcs.ri.service.RegistrationStatus"
            android:label="@string/menu_registration_status"/>
        <activity
            android:name="com.gsma.rcs.ri.service.ServiceConfigurationActivity"
            android:label="@string/menu_service_configuration"/>

        <!-- Contacts API -->

        <activity android:name="com.gsma.rcs.ri.contacts.TestContactsApi"/>
        <activity
            android:name="com.gsma.rcs.ri.contacts.RcsContactsList"
            android:label="@string/menu_list_rcs_contacts"/>
        <activity
            android:name="com.gsma.rcs.ri.contacts.ContactVCard"
            android:label="@string/menu_contact_vcard"/>
        <activity
            android:name="com.gsma.rcs.ri.contacts.BlockingContact"
            android:label="@string/menu_blocking_contact"/>

        <!-- Capabilities API -->

        <activity android:name="com.gsma.rcs.ri.capabilities.TestCapabilitiesApi"/>
        <activity
            android:name="com.gsma.rcs.ri.capabilities.RequestCapabilities"
            android:label="@string/menu_capabilities"/>
        <activity
            android:name="com.gsma.rcs.ri.capabilities.MyCapabilities"
            android:label="@string/menu_my_capabilities"/>
        <activity
            android:name="com.gsma.rcs.ri.capabilities.RequestAllCapabilities"
            android:label="@string/menu_refresh_capabilities"/>
        <activity
            android:name="com.gsma.rcs.ri.capabilities.CapabilitiesList"
            android:label="@string/menu_capabilities_log"/>

        <!-- Messaging API -->

        <activity android:name="com.gsma.rcs.ri.messaging.TestMessagingApi"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.OneToOneTalkView"
            android:label="@string/title_talk_1to1_view"
            android:launchMode="singleTop"/>

        <!-- File transfer API -->

        <activity android:name="com.gsma.rcs.ri.messaging.filetransfer.TestFileTransferApi"/>

        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.InitiateFileTransfer"
            android:icon="@drawable/ri_quick_ft_icon"
            android:label="@string/menu_transfer_file">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>

                <action android:name="com.gsma.services.rcs.action.INITIATE_ONE_TO_ONE_FILE_TRANSFER"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:mimeType="vnd.android.cursor.item/com.gsma.services.rcs.file-transfer"/>
            </intent-filter>
        </activity>

        <receiver
            android:name="com.gsma.rcs.ri.messaging.filetransfer.FileTransferInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.filetransfer.action.NEW_FILE_TRANSFER"/>
            </intent-filter>
        </receiver>
        <receiver
            android:name="com.gsma.rcs.ri.messaging.filetransfer.FileTransferResumeReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.filetransfer.action.RESUME_FILE_TRANSFER"/>
            </intent-filter>
        </receiver>

        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.ReceiveFileTransfer"
            android:label="@string/title_file_transfer"
            android:launchMode="singleTop"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.FileTransferServiceConfigActivity"
            android:icon="@drawable/ri_quick_ft_icon"
            android:label="@string/menu_ft_config"/>

        <service
            android:name="com.gsma.rcs.ri.messaging.filetransfer.FileTransferIntentService"
            android:exported="false"/>

        <!-- Multiple files transfer -->
        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.multi.SendMultiFileGroupChat"
            android:label="@string/title_multi_file_transfer"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.multi.SendMultiFileSingleChat"
            android:label="@string/title_multi_file_transfer"/>

        <!-- Chat API -->

        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.TestChatApi"
            android:icon="@drawable/ri_quick_chat_icon"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.single.InitiateSingleChat"
            android:icon="@drawable/ri_quick_chat_icon"
            android:label="@string/menu_initiate_chat">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>

                <data android:mimeType="vnd.android.cursor.item/com.gsma.services.rcs.im-session"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.gsma.services.rcs.action.SEND_ONE_TO_ONE_CHAT_MESSAGE"/>

                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <receiver
            android:name="com.gsma.rcs.ri.messaging.chat.single.SingleChatInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.chat.action.NEW_ONE_TO_ONE_CHAT_MESSAGE"/>
            </intent-filter>
        </receiver>

        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.ChatServiceConfigActivity"
            android:icon="@drawable/ri_quick_chat_icon"
            android:label="@string/menu_chat_config"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.group.InitiateGroupChat"
            android:icon="@drawable/ri_quick_chat_icon"
            android:label="@string/menu_initiate_group_chat">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.gsma.services.rcs.action.INITIATE_GROUP_CHAT"/>

                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>

        <receiver
            android:name="com.gsma.rcs.ri.messaging.chat.group.GroupChatMessageReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.chat.action.NEW_GROUP_CHAT_MESSAGE"/>
            </intent-filter>
        </receiver>
        <receiver
            android:name="com.gsma.rcs.ri.messaging.chat.group.GroupChatInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.chat.action.NEW_GROUP_CHAT"/>
            </intent-filter>
        </receiver>

        <activity
            android:name="com.gsma.rcs.ri.messaging.GroupTalkView"
            android:icon="@drawable/ri_quick_chat_icon"
            android:label="@string/title_group_chat"
            android:launchMode="singleTop"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.GroupDeliveryInfoList"
            android:label="@string/title_group_delivery_info"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.geoloc.EditGeoloc"
            android:label="@string/menu_send_geoloc"
            android:windowSoftInputMode="stateHidden"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.geoloc.ShowGeoloc"
            android:label="@string/title_display_geoloc"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.geoloc.SelectGeoloc"
            android:label="@string/label_select_geoloc"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.geoloc.DisplayGeoloc"
            android:label="@string/title_display_geoloc"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.group.SendGroupFile"
            android:icon="@drawable/ri_quick_ft_icon"
            android:label="@string/menu_transfer_file"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.single.SendSingleFile"
            android:icon="@drawable/ri_quick_ft_icon"
            android:label="@string/menu_transfer_file"/>

        <service
            android:name="com.gsma.rcs.ri.messaging.chat.single.SingleChatIntentService"
            android:exported="false"/>
        <service
            android:name="com.gsma.rcs.ri.messaging.chat.group.GroupChatIntentService"
            android:exported="false"/>

        <!-- Sharing API -->

        <activity android:name="com.gsma.rcs.ri.sharing.TestSharingApi"/>

        <!-- Image sharing API -->
        <activity
            android:name="com.gsma.rcs.ri.sharing.image.InitiateImageSharing"
            android:label="@string/menu_initiate_image_sharing">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>

                <data android:mimeType="vnd.android.cursor.item/com.gsma.services.rcs.image-share"/>
            </intent-filter>
        </activity>

        <receiver
            android:name="com.gsma.rcs.ri.sharing.image.ImageSharingInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.sharing.image.action.NEW_IMAGE_SHARING"/>
            </intent-filter>
        </receiver>

        <activity
            android:name="com.gsma.rcs.ri.sharing.image.ReceiveImageSharing"
            android:label="@string/title_image_sharing"
            android:launchMode="singleTop"/>

        <service
            android:name="com.gsma.rcs.ri.sharing.image.ImageSharingIntentService"
            android:exported="false"/>

        <!-- Geoloc sharing API -->

        <activity
            android:name="com.gsma.rcs.ri.sharing.geoloc.InitiateGeolocSharing"
            android:label="@string/menu_initiate_geoloc_sharing"/>

        <receiver
            android:name="com.gsma.rcs.ri.sharing.geoloc.GeolocSharingInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.sharing.geoloc.action.NEW_GEOLOC_SHARING"/>
            </intent-filter>
        </receiver>

        <activity
            android:name="com.gsma.rcs.ri.sharing.geoloc.ReceiveGeolocSharing"
            android:label="@string/title_geoloc_sharing"
            android:launchMode="singleTop"/>

        <service
            android:name="com.gsma.rcs.ri.sharing.geoloc.GeolocSharingIntentService"
            android:exported="false"/>

        <!-- Video sharing API -->

        <activity
            android:name="com.gsma.rcs.ri.sharing.video.OutgoingVideoSharing"
            android:label="@string/menu_video_sharing">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>

                <data android:mimeType="vnd.android.cursor.item/com.gsma.services.rcs.video-share"/>
            </intent-filter>
        </activity>

        <receiver
            android:name="com.gsma.rcs.ri.sharing.video.VideoSharingInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.sharing.video.action.NEW_VIDEO_SHARING"/>
            </intent-filter>
        </receiver>

        <activity
            android:name="com.gsma.rcs.ri.sharing.video.IncomingVideoSharing"
            android:exported="true"
            android:label="@string/menu_video_sharing"/>

        <service
            android:name="com.gsma.rcs.ri.sharing.video.VideoSharingIntentService"
            android:exported="false"/>

        <!-- MM session API -->

        <activity android:name="com.gsma.rcs.ri.extension.TestMultimediaSessionApi"/>
        <activity
            android:name="com.gsma.rcs.ri.extension.messaging.InitiateMessagingSession"
            android:label="@string/menu_initiate_messaging_session">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>

                <category android:name="android.intent.category.DEFAULT"/>

                <data android:mimeType="vnd.android.cursor.item/com.gsma.services.rcs.extensions"/>
            </intent-filter>
        </activity>
        <activity
            android:name="com.gsma.rcs.ri.extension.messaging.MessagingSessionView"
            android:label="@string/title_messaging_session"/>
        <activity
            android:name="com.gsma.rcs.ri.extension.messaging.MessagingSessionList"
            android:label="@string/menu_messaging_sessions_list"/>
        <activity
            android:name="com.gsma.rcs.ri.extension.streaming.InitiateStreamingSession"
            android:label="@string/menu_initiate_streaming_session"/>
        <activity
            android:name="com.gsma.rcs.ri.extension.streaming.StreamingSessionView"
            android:label="@string/title_streaming_session"/>
        <activity
            android:name="com.gsma.rcs.ri.extension.SendInstantMessage"
            android:label="@string/title_instant_session"/>
        <activity
            android:name="com.gsma.rcs.ri.extension.streaming.StreamingSessionList"
            android:label="@string/menu_streaming_sessions_list"/>

        <receiver
            android:name="com.gsma.rcs.ri.extension.SessionInvitationReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.extension.action.NEW_MESSAGING_SESSION"/>
                <data android:mimeType="com.gsma.services.rcs/ext.messaging"/>

                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.gsma.services.rcs.extension.action.NEW_STREAMING_SESSION"/>
                <data android:mimeType="com.gsma.services.rcs/ext.streaming"/>

                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>

        <receiver
            android:name="com.gsma.rcs.ri.extension.InstantMessageReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.extension.action.NEW_INSTANT_MESSAGE"/>
                <data android:mimeType="com.gsma.services.rcs/ext.messaging"/>

                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>

        <service
            android:name="com.gsma.rcs.ri.extension.MultiMediaSessionIntentService"
            android:exported="false"/>

        <!-- File Upload API -->

        <activity
            android:name="com.gsma.rcs.ri.upload.InitiateFileUpload"
            android:label="@string/title_initiate_upload"/>

        <!-- Log API -->
        <activity
            android:name="com.gsma.rcs.ri.messaging.TalkList"
            android:label="@string/title_history_log_messaging"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.SEND"/>
                <action android:name="android.intent.action.SEND_MULTIPLE"/>

                <category android:name="android.intent.category.DEFAULT"/>

                <data android:mimeType="application/*"/>
                <data android:mimeType="audio/*"/>
                <data android:mimeType="image/*"/>
                <data android:mimeType="message/*"/>
                <data android:mimeType="multipart/*"/>
                <data android:mimeType="text/*"/>
                <data android:mimeType="video/*"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>

                <action android:name="com.gsma.services.rcs.action.VIEW_ONE_TO_ONE_CHAT"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>

                <action android:name="com.gsma.services.rcs.action.VIEW_GROUP_CHAT"/>
            </intent-filter>
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.DEFAULT"/>

                <action android:name="com.gsma.services.rcs.action.VIEW_FILE_TRANSFER"/>
            </intent-filter>

        </activity>
        <activity
            android:name="com.gsma.rcs.ri.sharing.geoloc.GeolocSharingLogView"
            android:label="@string/title_sharing_log_item"/>
        <activity
            android:name="com.gsma.rcs.ri.sharing.image.ImageSharingLogView"
            android:label="@string/title_sharing_log_item"/>
        <activity
            android:name="com.gsma.rcs.ri.sharing.video.VideoSharingLogView"
            android:label="@string/title_sharing_log_item"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.FileTransferLogView"
            android:label="@string/title_sharing_log_item"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.chat.ChatMessageLogView"
            android:label="@string/title_sharing_log_item"/>
        <activity
            android:name="com.gsma.rcs.ri.messaging.filetransfer.AudioMessageRecordActivity"
            android:label="@string/menu_transfer_file"/>
        <activity
            android:name="com.gsma.rcs.ri.sharing.SharingListView"
            android:label="@string/title_sharing_log"/>

        <receiver
            android:name="com.gsma.rcs.ri.messaging.chat.single.UndeliveredMessageReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.chat.action.MESSAGE_DELIVERY_EXPIRED"/>
            </intent-filter>
        </receiver>
        <receiver
            android:name="com.gsma.rcs.ri.messaging.filetransfer.UndeliveredFileReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="com.gsma.services.rcs.filetransfer.action.FILE_TRANSFER_DELIVERY_EXPIRED"/>
            </intent-filter>
        </receiver>

        <activity
            android:name=".permissions.PermissionsActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

================================================
FILE: RI/LICENSE-2.0.txt
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: RI/README.md
================================================
# The Reference Implementation

This application shows how to use the RCSJTA api.<br>
It gives examples of use cases for a RCSJTA client application.

Build instruction:

<code>../gradlew :RI:build</code>

**Additional steps for Eclipse compatibility:**

<code>ant libs</code>

This will create the following jar files under the "libs" folder:
- api.jar
- rcs_media.jar
- api_cnx.jar

Download the [android-support-v4.jar](https://developer.android.com/tools/support-library/setup.html) library and copy under the "libs" folder.

Set up the [google play service library](https://developers.google.com/android/guides/setup).

Set up the api connection library by importing the Android project '../libs/api_cnx/build/intermediates/bundles/debug/'


================================================
FILE: RI/build.gradle
================================================
apply plugin: 'com.android.application'

android {

    //Required to support the old folder structure
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jniLibs.srcDirs = ['libs']
        }
        androidTest.setRoot('tests')
    }

    //Required to support builds although lint errors exist
    lintOptions {
        abortOnError false
		disable 'IconLocation'
        disable 'IconDuplicates'
		disable 'IconDuplicatesConfig'
		disable 'IconColors'
		disable 'IconMissingDensityFolder'
		disable 'IconDensities'
    }

    compileSdkVersion rootProject.compileSdkVersion
    buildToolsVersion rootProject.buildToolsVersion

    defaultConfig {
        applicationId "com.gsma.rcs.ri"
        minSdkVersion rootProject.minSdkVersion
        targetSdkVersion rootProject.targetSdkVersion
        versionCode 2
        versionName "2.0"
        archivesBaseName = "RI"
    }
}

dependencies {
    compile project(':api')
    compile project(':api_cnx')
    compile project(':mediaplayer')
    compile 'com.android.support:support-v4:25.0.1'
	compile 'com.google.android.gms:play-services:8.4.0'
}

//Below install dependecy was added to always install RCS service before
//a RCS client to secure that Android handles RCS permissions correctly.
task installServiceFirst(dependsOn: ':core:installDebug') << {
    println 'RCS core service was installed first!'
}
tasks.whenTaskAdded { task ->
    if (task.name == 'installDebug') {
        task.dependsOn installServiceFirst
    }
}


================================================
FILE: RI/build.xml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<project name="RI" default="help">

	<!-- This script to populate ./libs folder with generated jar files for building compatibility with Eclipse.
	This script must be executed after dependent libraries have been generated by gradle.
	This script must be removed after migration to Android Studio.
	-->
	<property name="terminal.root" value="." />
	<property name="terminal.lib_dst" value="${terminal.root}/libs" />
	<property name="terminal.lib_src2" value="${terminal.root}/../libs/api/build/intermediates/bundles/release/classes.jar" />
	<property name="terminal.lib_src3" value="${terminal.root}/../libs/api_cnx/build/intermediates/bundles/release/classes.jar" />
	<property name="terminal.lib_src1" value="${terminal.root}/../mediaplayer/build/intermediates/bundles/release/classes.jar" />
	<property name="terminal.target2" value="api.jar" />
	<property name="terminal.target3" value="api_cnx.jar" />
	<property name="terminal.target1" value="rcs_media.jar" />

	<target name="libs">
		<echo>Copy ${terminal.target1} file</echo>
		<copy file="${terminal.lib_src1}" tofile="${terminal.lib_dst}/${terminal.target1}" />
		<echo>Copy ${terminal.target2} file</echo>
		<copy file="${terminal.lib_src2}" tofile="${terminal.lib_dst}/${terminal.target2}"/>
		<echo>Copy ${terminal.target3} file</echo>
		<copy file="${terminal.lib_src3}" tofile="${terminal.lib_dst}/${terminal.target3}"/>
	</target>

	<target name="clean">
		<echo>Delete library files</echo>
		<delete file="${terminal.lib_dst}/${terminal.target1}"/>
		<delete file="${terminal.lib_dst}/${terminal.target2}"/>
		<delete file="${terminal.lib_dst}/${terminal.target3}"/>
	</target>

	<target name="all" depends="clean,libs" />

	<target name="help">
		<echo>Library Ant Build. Available targets:</echo>
		<echo> help: Displays this help.</echo>
		<echo> clean: Removes output files created by other targets.</echo>
		<echo> libs: Generate input libraries.</echo>
		<echo> all: Deletes then copy input libraries.</echo>
	</target>

</project>


================================================
FILE: RI/default.properties
================================================
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
# 
# This file must be checked in Version Control Systems.
# 
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.

# Indicates whether an apk should be generated for each density.
split.density=false
# Project target.
target=Google Inc.:Google APIs:10


================================================
FILE: RI/proguard-project.txt
================================================
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}


================================================
FILE: RI/project.properties
================================================
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure.

# Indicates whether an apk should be generated for each density.
split.density=false
# Project target.
target=Google Inc.:Google APIs:22
android.library.reference.1=../../../../../adt-bundle-windows-x86_64/sdk/extras/google/google_play_services/libproject/google-play-services_lib


================================================
FILE: RI/res/drawable/counter_circle.xml
================================================
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#FFA500" />

    <padding
        android:bottom="2dip"
        android:left="5dip"
        android:right="5dip"
        android:top="2dip" />
</shape>

================================================
FILE: RI/res/drawable/talk_item_rcs_in.xml
================================================
<?xml version="1.0" encoding="utf-8"?><!--
  ~ /*******************************************************************************
  ~  * Software Name : RCS IMS Stack
  ~  *
  ~  * Copyright (C) 2010 France Telecom S.A.
  ~  *
  ~  * Licensed under the Apache License, Version 2.0 (the "License");
  ~  * you may not use this file except in compliance with the License.
  ~  * You may obtain a copy of the License at
  ~  *
  ~  *      http://www.apache.org/licenses/LICENSE-2.0
  ~  *
  ~  * Unless required by applicable law or agreed to in writing, software
  ~  * distributed under the License is distributed on an "AS IS" BASIS,
  ~  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~  * See the License for the specific language governing permissions and
  ~  * limitations under the License.
  ~  ******************************************************************************/
  -->

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FAE2A1" />
    <stroke
        android:width="3dip"
        android:color="#FAE2A1" />
    <corners android:radius="10dip" />
    <padding
        android:bottom="0dip"
        android:left="0dip"
        android:right="0dip"
        android:top="0dip" />
</shape>

================================================
FILE: RI/res/drawable/talk_item_rcs_out.xml
================================================
<?xml version="1.0" encoding="utf-8"?><!--
  ~ /*******************************************************************************
  ~  * Software Name : RCS IMS Stack
  ~  *
  ~  * Copyright (C) 2010 France Telecom S.A.
  ~  *
  ~  * Licensed under the Apache License, Version 2.0 (the "License");
  ~  * you may not use this file except in compliance with the License.
  ~  * You may obtain a copy of the License at
  ~  *
  ~  *      http://www.apache.org/licenses/LICENSE-2.0
  ~  *
  ~  * Unless required by applicable law or agreed to in writing, software
  ~  * distributed under the License is distributed on an "AS IS" BASIS,
  ~  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~  * See the License for the specific language governing permissions and
  ~  * limitations under the License.
  ~  ******************************************************************************/
  -->

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#F8F66E" />
    <stroke
        android:width="3dip"
        android:color="#F8F66E" />
    <corners android:radius="10dip" />
    <padding
        android:bottom="0dip"
        android:left="0dip"
        android:right="0dip"
        android:top="0dip" />
</shape>

================================================
FILE: RI/res/layout/app_about.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="10dp"
        android:src="@drawable/rcs_icon" >
    </ImageView>

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/label_about_title"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/app_version"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center_vertical|center_horizontal"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/gsma_version"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center_vertical|center_horizontal"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>

================================================
FILE: RI/res/layout/ask_permissions.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:orientation="vertical">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:gravity="center_vertical|center_horizontal"
        android:text="@string/label_ungranted_permission"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textStyle="bold"/>

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"/>

</LinearLayout>

================================================
FILE: RI/res/layout/audio_msg_record.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:stretchColumns="1">

        <TableRow android:paddingTop="5dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:gravity="end"
                android:text="@string/label_audio_record" />

            <TextView
                android:id="@+id/uri"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:singleLine="true"
                android:textStyle="bold" />
        </TableRow>

        <TableRow android:paddingTop="5dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:gravity="end"
                android:text="@string/label_size" />

            <TextView
                android:id="@+id/size"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:singleLine="true"
                android:textStyle="bold" />
        </TableRow>

        <TableRow android:paddingTop="5dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:gravity="end"
                android:text="@string/label_duration" />

            <TextView
                android:id="@+id/duration"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:singleLine="true"
                android:textStyle="bold" />

        </TableRow>

        <Button
            android:id="@+id/buttonRecord"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/label_start_record" />

        <Button
            android:id="@+id/buttonStop"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/label_stop_record" />

        <Button
            android:id="@+id/buttonPlay"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/label_play_record" />

    </TableLayout>
</ScrollView>

================================================
FILE: RI/res/layout/capabilities_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:listSelector="@android:drawable/list_selector_background"
        android:scrollbarStyle="outsideOverlay" />

    <TextView
        android:id="@android:id/empty"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="@string/label_capabilities_empty"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

================================================
FILE: RI/res/layout/capabilities_list_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:paddingEnd="12dip"
                android:paddingRight="12dip"
                android:paddingStart="12dip">

    <View
        android:id="@+id/divider"
        android:layout_width="1dip"
        android:layout_height="fill_parent"
        android:layout_marginEnd="11dip"
        android:layout_marginRight="11dip"/>

    <TextView
        android:id="@+id/number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="5dip"
        android:singleLine="true"
        android:textStyle="bold"/>

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/number"
        android:paddingTop="5dip"
        android:stretchColumns="1">

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_capabilities"/>

            <CheckBox
                android:id="@+id/image_sharing"
                android:clickable="false"
                android:text="@string/label_capabilities_image"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView android:gravity="end"/>

            <CheckBox
                android:id="@+id/video_sharing"
                android:clickable="false"
                android:text="@string/label_capabilities_video"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView android:gravity="end"/>

            <CheckBox
                android:id="@+id/file_transfer"
                android:clickable="false"
                android:text="@string/label_capabilities_ft"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView android:gravity="end"/>

            <CheckBox
                android:id="@+id/im"
                android:clickable="false"
                android:text="@string/label_capabilities_im"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView android:gravity="end"/>

            <CheckBox
                android:id="@+id/geoloc_push"
                android:clickable="false"
                android:text="@string/label_capabilities_geolocation_push"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_capabilities_extensions"/>

            <TextView
                android:id="@+id/extensions"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_automata"/>

            <CheckBox
                android:id="@+id/automata"
                android:clickable="false"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_capabilities_timestamp"/>

            <TextView
                android:id="@+id/last_refresh"
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>
    </TableLayout>

</RelativeLayout>

================================================
FILE: RI/res/layout/capabilities_mine.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:stretchColumns="1">

        <TableRow android:paddingTop="5dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_capabilities" />

            <CheckBox
                android:id="@+id/image_sharing"
                android:clickable="false"
                android:text="@string/label_capabilities_image"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/video_sharing"
                android:clickable="false"
                android:text="@string/label_capabilities_video"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/file_transfer"
                android:clickable="false"
                android:text="@string/label_capabilities_ft"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/im"
                android:clickable="false"
                android:text="@string/label_capabilities_im"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/geoloc_push"
                android:clickable="false"
                android:text="@string/label_capabilities_geolocation_push"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_capabilities_extensions" />

            <TextView
                android:id="@+id/extensions"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_automata" />

            <CheckBox
                android:id="@+id/automata"
                android:clickable="false"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/capabilities_refresh.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dip"
    android:orientation="vertical">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:text="@string/label_refresh_all_capabilities" />

    <Button
        android:id="@+id/refresh_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:text="@string/label_refresh" />
</LinearLayout>


================================================
FILE: RI/res/layout/capabilities_request.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:stretchColumns="1">

        <Spinner
            android:id="@+id/contact"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />

        <Button
            android:id="@+id/refresh_btn"
            android:text="@string/label_refresh" />

        <TableRow android:paddingTop="5dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_capabilities" />

            <CheckBox
                android:id="@+id/image_sharing"
                android:clickable="false"
                android:text="@string/label_capabilities_image"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/video_sharing"
                android:clickable="false"
                android:text="@string/label_capabilities_video"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/file_transfer"
                android:clickable="false"
                android:text="@string/label_capabilities_ft"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/im"
                android:clickable="false"
                android:text="@string/label_capabilities_im"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip" />

            <CheckBox
                android:id="@+id/geoloc_push"
                android:clickable="false"
                android:text="@string/label_capabilities_geolocation_push"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_capabilities_extensions" />

            <TextView
                android:id="@+id/extensions"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_automata" />

            <CheckBox
                android:id="@+id/automata"
                android:clickable="false"
                android:textStyle="bold" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_capabilities_timestamp" />

            <TextView
                android:id="@+id/last_refresh"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/chat_initiate_group.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip"
    android:stretchColumns="1">

    <Button
        android:id="@+id/invite_btn"
        android:text="@string/label_invite" />

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginEnd="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_subject" />

        <EditText
            android:id="@+id/subject"
            android:inputType="text"
            android:maxLength="50"
            android:singleLine="true" />
    </TableRow>

    <TextView
        android:padding="2dip"
        android:text="@string/label_contacts" />

    <ListView
        android:id="@+id/contacts"
        android:layout_width="fill_parent"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:paddingTop="5dip" />

</TableLayout>

================================================
FILE: RI/res/layout/chat_initiate_single.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <Spinner
        android:id="@+id/contact"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip" />

    <Button
        android:id="@+id/invite_btn"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/label_invite" />

</LinearLayout>

================================================
FILE: RI/res/layout/chat_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:listSelector="@android:drawable/list_selector_background"
        android:scrollbarStyle="outsideOverlay" />

    <TextView
        android:id="@android:id/empty"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="@string/label_chat_empty"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

================================================
FILE: RI/res/layout/chat_message_log_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true">

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:layout_margin="5dp">

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_id"/>

            <TextView
                android:id="@+id/history_log_item_id"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_chat_id"/>

            <TextView
                android:id="@+id/history_log_item_chat_id"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_contact"/>

            <TextView
                android:id="@+id/history_log_item_contact"
                android:text="@string/contact_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_state"/>

            <TextView
                android:id="@+id/history_log_item_state"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_reason"/>

            <TextView
                android:id="@+id/history_log_item_reason"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_dir"/>

            <TextView
                android:id="@+id/history_log_item_direction"
                android:text="@string/direction_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date"/>

            <TextView
                android:id="@+id/history_log_item_date"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_sent"/>

            <TextView
                android:id="@+id/history_log_item_date_sent"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_delivered"/>

            <TextView
                android:id="@+id/history_log_item_date_delivered"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_displayed"/>

            <TextView
                android:id="@+id/history_log_item_date_displayed"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_read_status"/>

            <TextView
                android:id="@+id/history_log_item_read_status"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_expired_delivery"/>

            <TextView
                android:id="@+id/history_log_item_expired_delivery"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_mime"/>

            <TextView
                android:id="@+id/history_log_item_mime"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_content"/>

            <TextView
                android:id="@+id/history_log_item_content"
                android:text="@string/text_dummy"/>
        </TableRow>
    </TableLayout>
</ScrollView>

================================================
FILE: RI/res/layout/chat_send_file.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:stretchColumns="1">

        <TableRow android:layout_margin="2dip">

            <CheckBox
                android:id="@+id/ft_thumb"
                android:enabled="true"
                android:text="@string/label_ft_thumb"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_file"/>

            <TextView
                android:id="@+id/uri"
                android:singleLine="true"
                android:text="@string/text_dummy"
                android:textStyle="bold"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_size"/>

            <TextView
                android:id="@+id/size"
                android:singleLine="true"
                android:text="@string/number_dummy"
                android:textStyle="bold"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_progress_status"/>

            <TextView
                android:id="@+id/progress_status"
                android:singleLine="true"
                android:text="@string/text_dummy"
                android:textStyle="bold"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_progress_bar"/>

            <ProgressBar
                android:id="@+id/progress_bar"
                style="@android:style/Widget.ProgressBar.Horizontal"
                android:layout_marginEnd="5dip"
                android:layout_marginRight="5dip"/>
        </TableRow>

        <CheckBox
            android:id="@+id/send_audio_msg"
            android:enabled="true"
            android:text="@string/label_send_audio_msg"/>

        <Button
            android:id="@+id/select_btn"
            android:text="@string/label_select_file"/>

        <Button
            android:id="@+id/invite_btn"
            android:text="@string/label_initiate_sharing"/>

        <Button
            android:id="@+id/pause_btn"
            android:text="@string/label_pause_transfer"/>

        <Button
            android:id="@+id/resume_btn"
            android:text="@string/label_resume_transfer"/>
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/chat_service_config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="5dip"
        android:stretchColumns="1">

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_WarnSF" />

            <CheckBox
                android:id="@+id/WarnSF"
                android:clickable="false"
                android:enabled="false" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_IsComposingTimeout" />

            <TextView android:id="@+id/IsComposingTimeout" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_GroupChatSupported" />

            <CheckBox
                android:id="@+id/GroupChatSupported"
                android:clickable="false"
                android:enabled="false" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_MinGroupChatParticipants" />

            <TextView android:id="@+id/MinGroupChatParticipants" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_MaxGroupChatParticipants" />

            <TextView android:id="@+id/MaxGroupChatParticipants" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_MaxMsgLengthGroupChat" />

            <TextView android:id="@+id/MaxMsgLengthGroupChat" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_GroupChatSubjectMaxLength" />

            <TextView android:id="@+id/GroupChatSubjectMaxLength" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_MaxMsgLengthOneToOneChat" />

            <TextView android:id="@+id/MaxMsgLengthOneToOneChat" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_SmsFallback" />

            <CheckBox
                android:id="@+id/SmsFallback"
                android:clickable="false"
                android:enabled="false" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_RespondToDisplayReports" />

            <CheckBox android:id="@+id/RespondToDisplayReports" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_MaxGeolocLabelLength" />

            <TextView android:id="@+id/MaxGeolocLabelLength" />
        </TableRow>

        <TableRow android:padding="2dip">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_GeolocExpireTime" />

            <TextView android:id="@+id/GeolocExpireTime" />
        </TableRow>
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/chat_view.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:divider="#FFFFFF"
        android:dividerHeight="1dp"
        android:fadeScrollbars="true"
        android:paddingBottom="6dip"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="5dp"
        android:scrollbarStyle="outsideOverlay"
        android:stackFromBottom="true"
        android:transcriptMode="normal" />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <TextView
                android:id="@+id/isComposingText"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:visibility="gone" />

            <RelativeLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
                android:paddingLeft="5dp"
                android:paddingRight="5dp"
                android:paddingTop="5dp">

                <EditText
                    android:id="@+id/userText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/send_button"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignTop="@+id/send_button"
                    android:layout_toLeftOf="@+id/send_button"
                    android:layout_toStartOf="@+id/send_button"
                    android:inputType="text"
                    android:textSize="14sp" />

                <Button
                    android:id="@+id/send_button"
                    android:layout_width="wrap_content"
                    android:layout_height="50dp"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:text="@string/label_chat_send" />
            </RelativeLayout>
        </LinearLayout>
    </ScrollView>

</LinearLayout>

================================================
FILE: RI/res/layout/contact_list_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content">

    <include
        android:id="@+id/capabilities"
        layout="@layout/capabilities_list_item"/>

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/capabilities"
        android:paddingTop="5dip"
        android:stretchColumns="1">

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_is_online"/>

            <CheckBox
                android:id="@+id/is_online"
                android:clickable="false"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_is_blocked"/>

            <CheckBox
                android:id="@+id/is_blocked"
                android:clickable="false"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

        <TableRow>

            <TextView
                android:gravity="end"
                android:text="@string/label_block_timestamp"/>

            <TextView
                android:id="@+id/block_timestamp"
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:textAppearance="?android:attr/textAppearanceSmall"/>
        </TableRow>

    </TableLayout>

</RelativeLayout>

================================================
FILE: RI/res/layout/contacts_blocking.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:stretchColumns="1" >

        <Spinner
            android:id="@+id/contact"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <ToggleButton
            android:id="@+id/block_btn"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:textOff="@string/label_block"
            android:textOn="@string/label_unblock" />
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/contacts_rcs_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:listSelector="@android:drawable/list_selector_background"
        android:scrollbarStyle="outsideOverlay" />

    <TextView
        android:id="@android:id/empty"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="@string/label_log_empty"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

================================================
FILE: RI/res/layout/contacts_vcard.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingTop="10dip"
    android:stretchColumns="1">

    <Spinner
        android:id="@+id/contact"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip" />

    <TableRow android:paddingTop="5dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginStart="5dip"
            android:text="@string/label_vcard" />

        <TextView
            android:id="@+id/vcard"
            android:textStyle="bold" />
    </TableRow>

    <Button
        android:id="@+id/show_btn"
        android:text="@string/label_show_vcard" />
</TableLayout>


================================================
FILE: RI/res/layout/delivery_info_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:textAppearance="?android:attr/textAppearanceSmall" >

    <TextView
        android:id="@+id/contact"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:textColor="@android:color/darker_gray" />

    <TextView
        android:id="@+id/deliver"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/contact" />

    <TextView
        android:id="@+id/display"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/deliver" />

    <TextView
        android:id="@+id/status"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/display" />

    <TextView
        android:id="@+id/reason"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_below="@id/status" />

</RelativeLayout>

================================================
FILE: RI/res/layout/delivery_info_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:listSelector="@android:drawable/list_selector_background"
        android:scrollbarStyle="outsideOverlay" />

</LinearLayout>

================================================
FILE: RI/res/layout/extension_initiate_session.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:shrinkColumns="1"
        android:stretchColumns="1" >

        <Spinner
            android:id="@+id/contact"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <Button
            android:id="@+id/initiate_btn"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_initiate_session" />
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/extension_messaging_session_view.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:shrinkColumns="1"
        android:stretchColumns="1"
        android:layout_margin="5dip">

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="5dip" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_remote" />

            <TextView
                android:id="@+id/contact"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textStyle="bold" />
        </TableRow>

        <TableRow android:paddingTop="5dip" >

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_service_id" />

            <TextView
                android:id="@+id/feature_tag"
                android:textStyle="bold" />
        </TableRow>

        <TableRow android:paddingTop="5dip" >

            <Button
                android:id="@+id/send_btn"
                android:text="@string/label_send_data" />
        </TableRow>

        <TableRow android:paddingTop="5dip" >

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginStart="5dip"
                android:text="@string/label_recv_data" />

            <TextView
                android:id="@+id/recv_data"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/extension_send_instant_message.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:shrinkColumns="1"
        android:stretchColumns="1" >

        <Spinner
            android:id="@+id/contact"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <Button
            android:id="@+id/send_btn"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_send_message" />
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/extension_session_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:listSelector="@android:drawable/list_selector_background"
        android:scrollbarStyle="outsideOverlay" />

    <TextView
        android:id="@android:id/empty"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:text="@string/label_no_session"
        android:textAppearance="?android:attr/textAppearanceLarge" />

</LinearLayout>

================================================
FILE: RI/res/layout/extension_streaming_session_view.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <TableLayout
        android:id="@+id/table"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true">

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dip">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/label_remote" />

            <TextView
                android:id="@+id/contact"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/contact_dummy"
                android:textStyle="bold" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dip">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/label_service_id" />

            <TextView
                android:id="@+id/feature_tag"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/extension_dummy"
                android:textStyle="bold" />
        </TableRow>

    </TableLayout>

    <Button
        android:id="@+id/start_stop_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_margin="5dip"
        android:text="@string/label_start" />

    <TableLayout
        android:id="@+id/table_counter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/start_stop_btn"
        android:layout_centerInParent="true">

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dip">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/label_rx_count" />

            <TextView
                android:id="@+id/rx_data"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/number_dummy"
                android:textStyle="bold" />
        </TableRow>

        <TableRow
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dip">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/label_tx_count" />

            <TextView
                android:id="@+id/tx_data"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5dip"
                android:text="@string/number_dummy"
                android:textStyle="bold" />
        </TableRow>

    </TableLayout>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:gravity="center"
        android:padding="5dip"
        android:text="@string/label_streaming_info" />

</RelativeLayout>

================================================
FILE: RI/res/layout/filetransfer_custom_title.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="35dip"
    android:background="#323331"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:padding="10dp">

    <ImageView
        android:id="@+id/filetransfer_alert_title_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingEnd="10dp"
        android:paddingRight="10dp" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/title_file_transfer" />

</LinearLayout>

================================================
FILE: RI/res/layout/filetransfer_initiate.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dip"
        android:stretchColumns="1">

        <Spinner
            android:id="@+id/contact"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>

        <TableRow android:layout_margin="2dip">

            <CheckBox
                android:id="@+id/ft_thumb"
                android:enabled="false"
                android:text="@string/label_ft_thumb"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView android:text="@string/label_file"/>

            <TextView
                android:id="@+id/uri"
                android:singleLine="true"
                android:text="@string/text_dummy"
                android:textStyle="bold"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView android:text="@string/label_size"/>

            <TextView
                android:id="@+id/size"
                android:singleLine="true"
                android:text="@string/number_dummy"
                android:textStyle="bold"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView android:text="@string/label_progress_status"/>

            <TextView
                android:id="@+id/progress_status"
                android:singleLine="true"
                android:text="@string/text_dummy"
                android:textStyle="bold"/>
        </TableRow>

        <TableRow android:layout_margin="2dip">

            <TextView android:text="@string/label_progress_bar"/>

            <ProgressBar
                android:id="@+id/progress_bar"
                style="@android:style/Widget.ProgressBar.Horizontal"
                android:layout_marginEnd="5dip"
                android:layout_marginRight="5dip"/>
        </TableRow>

        <TableRow
            android:id="@+id/expiration"
            android:layout_margin="2dip">

            <TextView android:text="@string/label_expiration"/>

            <TextView
                android:id="@+id/value_expiration"
                android:singleLine="true"
                android:textStyle="bold"/>
        </TableRow>

        <CheckBox
            android:id="@+id/send_audio_msg"
            android:enabled="false"
            android:text="@string/label_send_audio_msg"/>

        <Button
            android:id="@+id/select_btn"
            android:text="@string/label_select_file"/>

        <Button
            android:id="@+id/invite_btn"
            android:text="@string/label_initiate_sharing"/>

        <Button
            android:id="@+id/pause_btn"
            android:text="@string/label_pause_transfer"/>

        <Button
            android:id="@+id/resume_btn"
            android:text="@string/label_resume_transfer"/>
    </TableLayout>

</ScrollView>

================================================
FILE: RI/res/layout/filetransfer_log_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fillViewport="true">

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:layout_margin="5dp">

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_id"/>

            <TextView
                android:id="@+id/history_log_item_id"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_chat_id"/>

            <TextView
                android:id="@+id/history_log_item_chat_id"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_contact"/>

            <TextView
                android:id="@+id/history_log_item_contact"
                android:text="@string/contact_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_state"/>

            <TextView
                android:id="@+id/history_log_item_state"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_reason"/>

            <TextView
                android:id="@+id/history_log_item_reason"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_dir"/>

            <TextView
                android:id="@+id/history_log_item_direction"
                android:text="@string/direction_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_disposition"/>

            <TextView
                android:id="@+id/history_log_item_disposition"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date"/>

            <TextView
                android:id="@+id/history_log_item_date"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_sent"/>

            <TextView
                android:id="@+id/history_log_item_date_sent"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_delivered"/>

            <TextView
                android:id="@+id/history_log_item_date_delivered"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_displayed"/>

            <TextView
                android:id="@+id/history_log_item_date_displayed"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_read_status"/>

            <TextView
                android:id="@+id/history_log_item_read_status"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_expired_delivery"/>

            <TextView
                android:id="@+id/history_log_item_expired_delivery"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_filename"/>

            <TextView
                android:id="@+id/history_log_item_filename"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_file_size"/>

            <TextView
                android:id="@+id/history_log_item_size"
                android:text="@string/number_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_transferred"/>

            <TextView
                android:id="@+id/history_log_item_transferred"
                android:text="@string/number_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_mime"/>

            <TextView
                android:id="@+id/history_log_item_mime"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_file_expiration"/>

            <TextView
                android:id="@+id/history_log_item_date_file_expiration"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_file_uri"/>

            <TextView
                android:id="@+id/history_log_item_uri"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_icon_mime"/>

            <TextView
                android:id="@+id/history_log_item_icon_mime"
                android:text="@string/text_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_date_icon_expiration"/>

            <TextView
                android:id="@+id/history_log_item_date_icon_expiration"
                android:text="@string/timestamp_dummy"/>
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginEnd="10dp"
                android:layout_marginRight="10dp"
                android:text="@string/label_log_icon_uri"/>

            <TextView
                android:id="@+id/history_log_item_icon"
                android:text="@string/text_dummy"/>
        </TableRow>

    </TableLayout>
</ScrollView>


================================================
FILE: RI/res/layout/filetransfer_receive.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="false">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/from"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <TextView
            android:id="@+id/image_filename"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <TextView
            android:id="@+id/image_size"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <TextView
            android:id="@+id/expiration"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_progress_status" />

            <TextView
                android:id="@+id/progress_status"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:singleLine="true" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dip"
                android:text="@string/label_progress_bar" />

            <ProgressBar
                android:id="@+id/progress_bar"
                style="@android:style/Widget.ProgressBar.Horizontal"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:padding="5dip" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/pause_btn"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:text="@string/label_pause_transfer" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/resume_btn"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/label_resume_transfer" />
        </LinearLayout>
    </LinearLayout>

</ScrollView>

================================================
FILE: RI/res/layout/filetransfer_send_multi_file.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

       <Button
           android:id="@+id/ft_start_btn"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:layout_marginLeft="5dip"
           android:layout_marginRight="5dip"
           android:text="@string/label_ft_start_file_transfer"
           android:textAppearance="?android:attr/textAppearanceLarge" />

       <ListView
           android:id="@android:id/list"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:listSelector="@android:drawable/list_selector_background"
           android:scrollbarStyle="outsideOverlay" >
       </ListView>
        
</LinearLayout>

================================================
FILE: RI/res/layout/filetransfer_send_multi_file_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dip"
    android:stretchColumns="1">

    <TableRow android:padding="2dip">

        <CheckBox
            android:id="@+id/ft_thumb"
            android:enabled="true"
            android:text="@string/label_ft_thumb" />
    </TableRow>


    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_file" />

        <TextView
            android:id="@+id/uri"
            android:singleLine="true"
            android:textStyle="bold" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_ft_filesize" />

        <TextView
            android:id="@+id/filesize"
            android:singleLine="true"
            android:textStyle="bold" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_progress_status" />

        <TextView
            android:id="@+id/progress_status"
            android:singleLine="true"
            android:textStyle="bold" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_progress_bar" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_marginEnd="5dip"
            android:layout_marginRight="5dip" />
    </TableRow>

    <TableRow
        android:id="@+id/row_reason_code"
        android:padding="2dip">

        <TextView android:text="@string/label_reason_code" />

        <TextView
            android:id="@+id/text_reason_code"
            android:singleLine="true"
            android:textStyle="bold" />
    </TableRow>


    <TableRow android:padding="2dip">

        <CheckBox
            android:id="@+id/send_audio_msg"
            android:enabled="false"
            android:text="@string/label_send_audio_msg" />
    </TableRow>

</TableLayout>

================================================
FILE: RI/res/layout/filetransfer_service_config.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:padding="5dip"
             android:stretchColumns="1">

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_ft_WarnSize"/>

        <TextView
            android:id="@+id/ft_WarnSize"
            android:text="@string/number_dummy"/>
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_ft_MaxSize"/>

        <TextView
            android:id="@+id/ft_MaxSize"
            android:text="@string/number_dummy"/>
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_MaxFileTransfers"/>

        <TextView
            android:id="@+id/MaxFileTransfers"
            android:text="@string/number_dummy"/>
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_max_audio_duration"/>

        <TextView
            android:id="@+id/MaxAudioDuration"
            android:text="@string/number_dummy"/>
    </TableRow>

    <TableRow
        android:id="@+id/isAutoAccept"
        android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_ft_isAutoAccept"/>

        <CheckBox android:id="@+id/ft_isAutoAccept"/>
    </TableRow>

    <TableRow
        android:id="@+id/isAutoAcceptInRoaming"
        android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_ft_isAutoAcceptInRoaming"/>

        <CheckBox android:id="@+id/ft_isAutoAcceptInRoaming"/>
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_GroupFileTransferSupported"/>

        <CheckBox
            android:id="@+id/GroupFileTransferSupported"
            android:clickable="false"
            android:enabled="false"/>
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_ft_ImageResizeOption"/>

        <Spinner android:id="@+id/ft_ImageResizeOption"/>
    </TableRow>

</TableLayout>

================================================
FILE: RI/res/layout/fileupload_initiate.xml
================================================
<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dip"
    android:stretchColumns="1">

    <TableRow android:padding="2dip">

        <CheckBox
            android:id="@+id/file_thumb"
            android:text="@string/label_file_thumb" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_file" />

        <TextView
            android:id="@+id/uri"
            android:singleLine="true"
            android:textStyle="bold" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_progress_status" />

        <TextView
            android:id="@+id/progress_status"
            android:singleLine="true"
            android:textStyle="bold" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView android:text="@string/label_progress_bar" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_marginEnd="5dip"
            android:layout_marginRight="5dip" />
    </TableRow>

    <Button
        android:id="@+id/select_btn"
        android:text="@string/label_select_file" />

    <Button
        android:id="@+id/upload_btn"
        android:text="@string/label_upload" />

    <Button
        android:id="@+id/show_btn"
        android:text="@string/label_show_upload" />

    <Button
        android:id="@+id/show_icon_btn"
        android:text="@string/label_show_icon_upload" />
</TableLayout>

================================================
FILE: RI/res/layout/gchat_item_rcs_chat_in.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="2dp">

    <RelativeLayout
        android:id="@+id/conv_item_chat_text_in"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:background="@drawable/msg_item_left"
        android:orientation="vertical">

        <TextView
            android:id="@+id/content_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/contact_text"
            android:layout_alignStart="@+id/contact_text"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black" />

        <TextView
            android:id="@+id/contact_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/content_text"
            android:singleLine="true"
            android:text="@string/contact_dummy" />
    </RelativeLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_marginLeft="12dip"
        android:layout_marginStart="12dip"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray" />

    <TextView
        android:id="@+id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_marginLeft="12dip"
        android:layout_marginStart="12dip"
        android:singleLine="true"
        android:text="@string/timestamp_dummy" />
</LinearLayout>


================================================
FILE: RI/res/layout/gchat_item_rcs_chat_out.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="2dp">

    <RelativeLayout
        android:id="@+id/conv_item_chat_text_out"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:background="@drawable/msg_item_right"
        android:orientation="vertical">

        <TextView
            android:id="@+id/content_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

    </RelativeLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp"
        android:drawablePadding="5dp"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>

    <TextView
        android:id="@+id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp"
        android:singleLine="true"
        android:text="@string/timestamp_dummy"/>
</LinearLayout>


================================================
FILE: RI/res/layout/gchat_item_rcs_file_transfer_in.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="2dp">

    <LinearLayout
        android:id="@+id/conv_item_file_transfer_in"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:background="@drawable/talk_item_rcs_in"
        android:orientation="vertical"
        android:padding="5dp">

        <ImageView
            android:id="@+id/file_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ri_filetransfer_off"/>

        <TextView
            android:id="@+id/progress_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

        <TextView
            android:id="@+id/contact_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/contact_dummy"
            android:textColor="@android:color/darker_gray"/>
    </LinearLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_marginLeft="12dip"
        android:layout_marginStart="12dip"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>

    <TextView
        android:id="@+id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_marginLeft="12dip"
        android:layout_marginStart="12dip"
        android:singleLine="true"
        android:text="@string/timestamp_dummy"/>
</LinearLayout>


================================================
FILE: RI/res/layout/gchat_item_rcs_file_transfer_out.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:padding="2dip">

    <LinearLayout
        android:id="@+id/conv_item_file_transfer_out"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:background="@drawable/talk_item_rcs_out"
        android:orientation="vertical"
        android:padding="5dp">

        <ImageView
            android:id="@+id/file_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ri_filetransfer_off"/>

        <TextView
            android:id="@+id/progress_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

        <TextView
            android:id="@+id/contact_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/contact_dummy"
            android:textColor="@android:color/darker_gray"/>
    </LinearLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginRight="12dp"
        android:layout_marginEnd="12dp"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>

    <TextView
        android:id="@+id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginRight="12dp"
        android:layout_marginEnd="12dp"
        android:singleLine="true"
        android:text="@string/timestamp_dummy"/>
</LinearLayout>


================================================
FILE: RI/res/layout/geoloc_display.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment" />

================================================
FILE: RI/res/layout/geoloc_edit.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:stretchColumns="1">

    <Button
        android:id="@+id/select_geoloc_btn"
        android:padding="2dip"
        android:text="@string/label_select_geoloc" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="2dip"
        android:text="@string/label_location" />

    <EditText
        android:id="@+id/location"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:lines="1"
        android:padding="2dip"
        android:text="@string/label_gsh_default_label" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="2dip"
        android:text="@string/label_latitude" />

    <EditText
        android:id="@+id/latitude"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal|numberSigned"
        android:lines="1"
        android:maxLength="8"
        android:padding="2dip"
        android:text="@string/label_gsh_default_latitude" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dip"
        android:text="@string/label_longitude" />

    <EditText
        android:id="@+id/longitude"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal|numberSigned"
        android:lines="1"
        android:maxLength="8"
        android:padding="2dip"
        android:text="@string/label_gsh_default_longitude" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="2dip"
        android:text="@string/label_accuracy" />

    <EditText
        android:id="@+id/accuracy"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:lines="1"
        android:maxLength="8"
        android:padding="2dip"
        android:text="@string/label_gsh_default_accuracy" />

    <Button
        android:id="@+id/validate_btn"
        android:padding="2dip"
        android:text="@string/label_ok" />
</TableLayout>


================================================
FILE: RI/res/layout/geoloc_sharing_initiate.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dip"
    android:stretchColumns="1">

    <Spinner android:id="@+id/contact" />

    <TableRow android:paddingTop="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_position" />

        <TextView
            android:id="@+id/position"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:paddingTop="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_status" />

        <TextView
            android:id="@+id/progress_status"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:paddingTop="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_bar" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />
    </TableRow>

    <Button
        android:id="@+id/dial_btn"
        android:text="@string/label_dial" />

    <Button
        android:id="@+id/select_btn"
        android:text="@string/label_select_location" />

    <Button
        android:id="@+id/invite_btn"
        android:text="@string/label_initiate_sharing" />
</TableLayout>

================================================
FILE: RI/res/layout/geoloc_sharing_receive.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:stretchColumns="1">

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_contact" />

        <TextView
            android:id="@+id/contact"
            android:singleLine="true"
            android:text="@string/contact_dummy" />
    </TableRow>

    <TableRow android:paddingTop="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_position" />

        <TextView
            android:id="@+id/position"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_status" />

        <TextView
            android:id="@+id/progress_status"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_bar" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/geoloc_show.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/display_geoloc_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="@string/label_display_geoloc" />

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="10dip"
        android:stretchColumns="1" >

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="1" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="0"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="@string/label_contact_geoloc" />

            <TextView
                android:id="@+id/contact"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="1" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="1" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="0"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="@string/label_location" />

            <TextView
                android:id="@+id/location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="1"
                android:text="@string/label_gsh_default_label" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="1" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="0"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="@string/label_latitude" />

            <TextView
                android:id="@+id/latitude"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="1"
                android:text="@string/label_gsh_default_latitude" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="1" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="0"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="@string/label_longitude" />

            <TextView
                android:id="@+id/longitude"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="1"
                android:text="@string/label_gsh_default_longitude" />
        </TableRow>

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:weightSum="1" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="0"
                android:paddingLeft="10dp"
                android:paddingRight="10dp"
                android:text="@string/label_accuracy" />

            <TextView
                android:id="@+id/accuracy"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_column="1"
                android:text="@string/label_gsh_default_accuracy" />
        </TableRow>
    </TableLayout>

</LinearLayout>

================================================
FILE: RI/res/layout/groupchat_event_view_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="vertical"
              android:padding="2dip">

    <RelativeLayout
        android:id="@+id/msg_item"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="vertical">

        <TextView
            android:id="@+id/status_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true"
            android:text="@string/label_state_unknown"
            android:textColor="@android:color/white"/>

        <TextView
            android:id="@+id/contact_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/status_text"
            android:singleLine="true"
            android:text="@string/contact_dummy"/>
    </RelativeLayout>

    <TextView
        android:id="@+id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:text="@string/timestamp_dummy"/>

</LinearLayout>

================================================
FILE: RI/res/layout/history_log_sharing.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <Spinner
        android:id="@+id/contact"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip" />

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:listSelector="@android:drawable/list_selector_background"
            android:scrollbarStyle="outsideOverlay" />

        <TextView
            android:id="@android:id/empty"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:text="@string/label_history_log_empty"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    </FrameLayout>

</LinearLayout>

================================================
FILE: RI/res/layout/image_sharing_initiate.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:stretchColumns="1">

    <Spinner android:id="@+id/contact" />

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_selected_img" />

        <TextView
            android:id="@+id/uri"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_selected_size" />

        <TextView
            android:id="@+id/size"
            android:singleLine="true"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_status" />

        <TextView
            android:id="@+id/progress_status"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_bar" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip" />
    </TableRow>

    <Button
        android:id="@+id/dial_btn"
        android:text="@string/label_dial" />

    <Button
        android:id="@+id/select_btn"
        android:text="@string/label_select_picture" />

    <Button
        android:id="@+id/invite_btn"
        android:text="@string/label_initiate_sharing" />
</TableLayout>


================================================
FILE: RI/res/layout/image_sharing_receive.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:stretchColumns="1">

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_contact" />

        <TextView
            android:id="@+id/contact"
            android:singleLine="true"
            android:text="@string/contact_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_selected_size" />

        <TextView
            android:id="@+id/size"
            android:singleLine="true"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_status" />

        <TextView
            android:id="@+id/progress_status"
            android:singleLine="true"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_progress_bar" />

        <ProgressBar
            android:id="@+id/progress_bar"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_marginRight="5dip"
            android:layout_marginEnd="5dip"/>
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/intents_apps.xml
================================================
<?xml version="1.0" encoding="utf-8"?>

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dip"
    android:stretchColumns="1">

    <Button
        android:id="@+id/load_chat"
        android:text="@string/label_load_chat" />

    <Button
        android:id="@+id/initiate_chat"
        android:text="@string/label_initiate_chat" />

    <Button
        android:id="@+id/load_group_chat"
        android:text="@string/label_load_group_chat" />

    <Button
        android:id="@+id/initiate_group_chat"
        android:text="@string/label_initiate_group_chat" />

    <Button
        android:id="@+id/load_ft"
        android:text="@string/label_load_ft" />

    <Button
        android:id="@+id/initiate_ft"
        android:text="@string/label_initiate_ft" />
</TableLayout>


================================================
FILE: RI/res/layout/ri_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingTop="10dip" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/wait_cnx_start"
        android:orientation="vertical"
        android:gravity="center"
         >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dip"
            android:text="@string/label_wait_cnx_start" />

        <ProgressBar
            android:id="@android:id/progress"
            style="@android:style/Widget.ProgressBar.Horizontal"
            android:layout_width="fill_parent"
            android:layout_height="50dp" />
    </LinearLayout>

</LinearLayout>

================================================
FILE: RI/res/layout/service_configuration.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:stretchColumns="1">

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_my_contact_id" />

        <TextView
            android:id="@+id/label_my_contact_id"
            android:text="@string/contact_dummy" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_service_configuration_valid" />

        <CheckBox
            android:id="@+id/label_service_configuration_valid"
            android:clickable="false"
            android:enabled="false" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_default_messaging_method" />

        <Spinner android:id="@+id/spinner_default_messaging_method" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_messaging_mode" />

        <TextView android:id="@+id/label_messaging_mode" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_my_display_name" />

        <EditText
            android:id="@+id/text_my_display_name"
            android:inputType="text" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_min_battery_level" />

        <Spinner android:id="@+id/spinner_label_min_battery_level" />
    </TableRow>

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_service_activatation" />

        <TextView android:id="@+id/text_service_activation" />
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/service_registration.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:stretchColumns="1">

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_registration_status" />

        <TextView
            android:id="@+id/registration_status"
            android:text="@string/text_dummy" />
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/service_status.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dip"
    android:stretchColumns="1">

    <TableRow android:padding="2dip">

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_service_bound" />

        <TextView android:id="@+id/service_bound" />
    </TableRow>

    <TableRow>

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_service_activated" />

        <TextView android:id="@+id/service_activated" />
    </TableRow>

    <TableRow>

        <TextView
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:text="@string/label_service_started" />

        <TextView android:id="@+id/service_started" />
    </TableRow>

    <Button
        android:id="@+id/service_refresh_all"
        android:text="@string/label_refresh" />
</TableLayout>


================================================
FILE: RI/res/layout/sharing_log_geoloc_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp">

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_contact" />

        <TextView
            android:id="@+id/history_log_item_contact"
            android:text="@string/contact_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_state" />

        <TextView
            android:id="@+id/history_log_item_state"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_reason" />

        <TextView
            android:id="@+id/history_log_item_reason"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_dir" />

        <TextView
            android:id="@+id/history_log_item_direction"
            android:text="@string/direction_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_date" />

        <TextView
            android:id="@+id/history_log_item_date"
            android:text="@string/timestamp_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_mime" />

        <TextView
            android:id="@+id/history_log_item_mime"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_content" />

        <TextView
            android:id="@+id/history_log_item_content"
            android:text="@string/text_dummy" />
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/sharing_log_image_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp">

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_contact" />

        <TextView
            android:id="@+id/history_log_item_contact"
            android:text="@string/contact_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_state" />

        <TextView
            android:id="@+id/history_log_item_state"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_reason" />

        <TextView
            android:id="@+id/history_log_item_reason"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_dir" />

        <TextView
            android:id="@+id/history_log_item_direction"
            android:text="@string/direction_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_date" />

        <TextView
            android:id="@+id/history_log_item_date"
            android:text="@string/timestamp_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_filename" />

        <TextView
            android:id="@+id/history_log_item_filename"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_file_size" />

        <TextView
            android:id="@+id/history_log_item_size"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_transferred" />

        <TextView
            android:id="@+id/history_log_item_transferred"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_mime" />

        <TextView
            android:id="@+id/history_log_item_mime"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow
        android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_file_uri" />

        <TextView
            android:id="@+id/history_log_item_uri"
            android:text="@string/text_dummy" />
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/sharing_log_list.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:padding="5dip">

    <ImageView
        android:id="@+id/call_type_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/ri_incoming_call" />

    <TextView
        android:id="@+id/date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:singleLine="true"
        android:text="@string/timestamp_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/date"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignStart="@id/date"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="@string/text_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/conversation_type"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/description"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:ellipsize="marquee"
        android:singleLine="true"
        android:text="@string/text_dummy"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/contact_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="5dip"
        android:layout_marginRight="5dip"
        android:layout_toLeftOf="@id/call_type_icon"
        android:layout_toStartOf="@id/call_type_icon"
        android:ellipsize="marquee"
        android:singleLine="false"
        android:text="@string/contact_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

</RelativeLayout>


================================================
FILE: RI/res/layout/sharing_log_video_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp">

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_contact" />

        <TextView
            android:id="@+id/history_log_item_contact"
            android:text="@string/contact_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_state" />

        <TextView
            android:id="@+id/history_log_item_state"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_reason" />

        <TextView
            android:id="@+id/history_log_item_reason"
            android:text="@string/text_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_dir" />

        <TextView
            android:id="@+id/history_log_item_direction"
            android:text="@string/direction_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_date" />

        <TextView
            android:id="@+id/history_log_item_date"
            android:text="@string/timestamp_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_duration" />

        <TextView
            android:id="@+id/history_log_item_duration"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_height" />

        <TextView
            android:id="@+id/history_log_item_height"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_width" />

        <TextView
            android:id="@+id/history_log_item_width"
            android:text="@string/number_dummy" />
    </TableRow>

    <TableRow android:layout_margin="2dp">

        <TextView
            android:layout_marginRight="10dp"
            android:layout_marginEnd="10dp"
            android:text="@string/label_log_encoding" />

        <TextView
            android:id="@+id/history_log_item_encoding"
            android:text="@string/number_dummy" />
    </TableRow>
</TableLayout>


================================================
FILE: RI/res/layout/talk_item_rcs_chat_in.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="2dip">

    <RelativeLayout
        android:id="@+id/conv_item_chat_text_in"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:background="@drawable/msg_item_left"
        android:orientation="vertical">

        <TextView
            android:id="@+id/content_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

        <TextView
            android:id="@+id/timestamp_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/content_text"
            android:text="@string/timestamp_dummy"
            android:textColor="@android:color/darker_gray"/>
    </RelativeLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_marginLeft="12dip"
        android:layout_marginStart="12dip"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>

</LinearLayout>


================================================
FILE: RI/res/layout/talk_item_rcs_chat_out.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="2dip">

    <RelativeLayout
        android:id="@+id/conv_item_chat_text_out"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:background="@drawable/msg_item_right"
        android:orientation="vertical">

        <TextView
            android:id="@+id/content_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

        <TextView
            android:id="@+id/timestamp_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/content_text"
            android:text="@string/timestamp_dummy"
            android:textColor="@android:color/darker_gray"/>
    </RelativeLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp"
        android:drawablePadding="5dp"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>
</LinearLayout>


================================================
FILE: RI/res/layout/talk_item_rcs_file_transfer_in.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="2dip">

    <LinearLayout
        android:id="@+id/conv_item_file_transfer_in"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:background="@drawable/talk_item_rcs_in"
        android:orientation="vertical"
        android:padding="5dp">

        <ImageView
            android:id="@+id/file_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ri_filetransfer_off"/>

        <TextView
            android:id="@+id/progress_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

        <TextView
            android:id="@+id/timestamp_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/timestamp_dummy"
            android:textColor="@android:color/darker_gray"/>
    </LinearLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:layout_marginLeft="12dip"
        android:layout_marginStart="12dip"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>
</LinearLayout>


================================================
FILE: RI/res/layout/talk_item_rcs_file_transfer_out.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:orientation="vertical"
              android:padding="2dip">

    <LinearLayout
        android:id="@+id/conv_item_file_transfer_out"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:background="@drawable/talk_item_rcs_out"
        android:orientation="vertical"
        android:padding="5dp">

        <ImageView
            android:id="@+id/file_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ri_filetransfer_off"/>

        <TextView
            android:id="@+id/progress_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_dummy"
            android:textColor="@android:color/black"/>

        <TextView
            android:id="@+id/timestamp_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/timestamp_dummy"
            android:textColor="@android:color/darker_gray"/>
    </LinearLayout>

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="end"
        android:layout_marginEnd="12dp"
        android:layout_marginRight="12dp"
        android:drawablePadding="5dp"
        android:text="@string/label_state_unknown"
        android:textColor="@android:color/darker_gray"/>
</LinearLayout>


================================================
FILE: RI/res/layout/talk_log_group_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?><!--
  ~ /*******************************************************************************
  ~  * Software Name : RCS IMS Stack
  ~  *
  ~  * Copyright (C) 2010 France Telecom S.A.
  ~  *
  ~  * Licensed under the Apache License, Version 2.0 (the "License");
  ~  * you may not use this file except in compliance with the License.
  ~  * You may obtain a copy of the License at
  ~  *
  ~  *      http://www.apache.org/licenses/LICENSE-2.0
  ~  *
  ~  * Unless required by applicable law or agreed to in writing, software
  ~  * distributed under the License is distributed on an "AS IS" BASIS,
  ~  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~  * See the License for the specific language governing permissions and
  ~  * limitations under the License.
  ~  ******************************************************************************/
  -->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dip">

    <ImageView
        android:id="@+id/avatar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="10dip"
        android:layout_marginStart="10dip"
        android:src="@drawable/people"></ImageView>

    <TextView
        android:id="@+id/subject_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dip"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="10dip"
        android:layout_marginStart="10dip"
        android:layout_toEndOf="@id/avatar"
        android:layout_toLeftOf="@+id/timestamp_text"
        android:layout_toRightOf="@id/avatar"
        android:layout_toStartOf="@+id/timestamp_text"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="@string/text_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/content_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@id/avatar"
        android:layout_marginLeft="5dip"
        android:layout_marginStart="5dip"
        android:layout_toLeftOf="@+id/status_text"
        android:layout_toStartOf="@+id/status_text"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="@string/text_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginEnd="2dip"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="2dip"
        android:layout_marginStart="5dip"
        android:background="@drawable/counter_circle"
        android:text="@string/number_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@android:color/black" />

    <TextView
        android:id="@id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginEnd="2dip"
        android:layout_marginRight="2dip"
        android:text="@string/timestamp_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

</RelativeLayout>

================================================
FILE: RI/res/layout/talk_log_one_to_one_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?><!--
  ~ /*******************************************************************************
  ~  * Software Name : RCS IMS Stack
  ~  *
  ~  * Copyright (C) 2010 France Telecom S.A.
  ~  *
  ~  * Licensed under the Apache License, Version 2.0 (the "License");
  ~  * you may not use this file except in compliance with the License.
  ~  * You may obtain a copy of the License at
  ~  *
  ~  *      http://www.apache.org/licenses/LICENSE-2.0
  ~  *
  ~  * Unless required by applicable law or agreed to in writing, software
  ~  * distributed under the License is distributed on an "AS IS" BASIS,
  ~  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~  * See the License for the specific language governing permissions and
  ~  * limitations under the License.
  ~  ******************************************************************************/
  -->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dip">

    <ImageView
        android:id="@+id/avatar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginLeft="10dip"
        android:layout_marginStart="10dip"
        android:src="@drawable/person"></ImageView>

    <TextView
        android:id="@+id/contact_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dip"
        android:layout_marginStart="10dip"
        android:layout_toEndOf="@id/avatar"
        android:layout_toRightOf="@id/avatar"
        android:text="@string/contact_dummy"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/content_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@id/avatar"
        android:layout_marginLeft="5dip"
        android:layout_marginStart="5dip"
        android:layout_toLeftOf="@+id/status_text"
        android:layout_toStartOf="@+id/status_text"
        android:ellipsize="end"
        android:singleLine="true"
        android:text="@string/text_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/status_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginEnd="2dip"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="2dip"
        android:layout_marginStart="5dip"
        android:background="@drawable/counter_circle"
        android:text="@string/number_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="@android:color/black" />

    <TextView
        android:id="@id/timestamp_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@id/contact_text"
        android:layout_marginEnd="2dip"
        android:layout_marginRight="2dip"
        android:text="@string/timestamp_dummy"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textStyle="bold" />

</RelativeLayout>

================================================
FILE: RI/res/layout/utils_smiley_menu_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:orientation="horizontal"
    android:padding="5dip">

    <ImageView
        android:id="@+id/smiley_icon"
        android:layout_width="20dip"
        android:layout_height="20dip"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="4dip"
        android:layout_marginStart="4dip" />

    <TextView
        android:id="@+id/smiley_name"
        android:layout_width="0dip"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="10dip"
        android:layout_marginStart="10dip"
        android:layout_weight="1"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="?android:attr/textColorPrimaryInverse" />

    <TextView
        android:id="@+id/smiley_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginEnd="20dip"
        android:layout_marginRight="20dip"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="?android:attr/textColorPrimaryInverse" />

</LinearLayout>

================================================
FILE: RI/res/layout/utils_spinner_item.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerItemStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:singleLine="true"
    android:textAppearance="?android:attr/textAppearanceLarge" />


================================================
FILE: RI/res/layout/video_sharing_incoming.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:stretchColumns="1">

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_contact" />

            <TextView
                android:id="@+id/contact"
                android:singleLine="true"
                android:text="@string/contact_dummy" />
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_video_format" />

            <TextView
                android:id="@+id/video_format"
                android:singleLine="true" />
        </TableRow>

    </TableLayout>

    <com.gsma.rcs.ri.sharing.video.media.VideoSurfaceView
        android:id="@+id/video_view"
        android:layout_width="176dp"
        android:layout_height="144dp"
        android:layout_gravity="center"
        android:layout_marginTop="5dp" />
</LinearLayout>


================================================
FILE: RI/res/layout/video_sharing_outgoing.xml
================================================
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:orientation="vertical">

    <Spinner
        android:id="@+id/contact"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1">

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_contact" />

            <TextView
                android:id="@+id/remote"
                android:singleLine="true" />
        </TableRow>

        <TableRow android:layout_margin="2dp">

            <TextView
                android:layout_marginLeft="5dip"
                android:layout_marginRight="5dip"
                android:text="@string/label_video_format" />

            <TextView
                android:id="@+id/video_format"
                android:singleLine="true" />
        </TableRow>

    </TableLayout>

    <Button
        android:id="@+id/dial_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/label_dial" />

    <Button
        android:id="@+id/invite_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/label_initiate_sharing" />

    <Button
        android:id="@+id/switch_cam_btn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/label_switch_camera" />

    <com.gsma.rcs.ri.sharing.video.media.VideoSurfaceView
        android:id="@+id/video_preview"
        android:layout_width="176dp"
        android:layout_height="144dp"
        android:layout_gravity="center"
        android:layout_marginTop="5dp" />
</LinearLayout>

================================================
FILE: RI/res/menu/menu_1to1_talk.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ /*******************************************************************************
  ~  * Software Name : RCS IMS Stack
  ~  *
  ~  * Copyright (C) 2010 France Telecom S.A.
  ~  *
  ~  * Licensed under the Apache License, Version 2.0 (the "License");
  ~  * you may not use this file except in compliance with the License.
  ~  * You may obtain a copy of the License at
  ~  *
  ~  *      http://www.apache.org/licenses/LICENSE-2.0
  ~  *
  ~  * Unless required by applicable law or agreed to in writing, software
  ~  * distributed under the License is distributed on an "AS IS" BASIS,
  ~  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~  * See the License for the specific language governing permissions and
  ~  * limitations under the License.
  ~  ******************************************************************************/
  -->

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/menu_send_geoloc"
        android:title="@string/menu_send_geoloc"/>

    <item
        android:id="@+id/menu_send_rcs_file"
        android:title="@string/menu_send_file"/>

    <item
        android:id="@+id/menu_delete_talk"
       
Download .txt
gitextract_mwevf30l/

├── .gitignore
├── README.md
├── RI/
│   ├── AndroidManifest.xml
│   ├── LICENSE-2.0.txt
│   ├── README.md
│   ├── build.gradle
│   ├── build.xml
│   ├── default.properties
│   ├── proguard-project.txt
│   ├── project.properties
│   ├── res/
│   │   ├── drawable/
│   │   │   ├── counter_circle.xml
│   │   │   ├── talk_item_rcs_in.xml
│   │   │   └── talk_item_rcs_out.xml
│   │   ├── layout/
│   │   │   ├── app_about.xml
│   │   │   ├── ask_permissions.xml
│   │   │   ├── audio_msg_record.xml
│   │   │   ├── capabilities_list.xml
│   │   │   ├── capabilities_list_item.xml
│   │   │   ├── capabilities_mine.xml
│   │   │   ├── capabilities_refresh.xml
│   │   │   ├── capabilities_request.xml
│   │   │   ├── chat_initiate_group.xml
│   │   │   ├── chat_initiate_single.xml
│   │   │   ├── chat_list.xml
│   │   │   ├── chat_message_log_item.xml
│   │   │   ├── chat_send_file.xml
│   │   │   ├── chat_service_config.xml
│   │   │   ├── chat_view.xml
│   │   │   ├── contact_list_item.xml
│   │   │   ├── contacts_blocking.xml
│   │   │   ├── contacts_rcs_list.xml
│   │   │   ├── contacts_vcard.xml
│   │   │   ├── delivery_info_item.xml
│   │   │   ├── delivery_info_list.xml
│   │   │   ├── extension_initiate_session.xml
│   │   │   ├── extension_messaging_session_view.xml
│   │   │   ├── extension_send_instant_message.xml
│   │   │   ├── extension_session_list.xml
│   │   │   ├── extension_streaming_session_view.xml
│   │   │   ├── filetransfer_custom_title.xml
│   │   │   ├── filetransfer_initiate.xml
│   │   │   ├── filetransfer_log_item.xml
│   │   │   ├── filetransfer_receive.xml
│   │   │   ├── filetransfer_send_multi_file.xml
│   │   │   ├── filetransfer_send_multi_file_item.xml
│   │   │   ├── filetransfer_service_config.xml
│   │   │   ├── fileupload_initiate.xml
│   │   │   ├── gchat_item_rcs_chat_in.xml
│   │   │   ├── gchat_item_rcs_chat_out.xml
│   │   │   ├── gchat_item_rcs_file_transfer_in.xml
│   │   │   ├── gchat_item_rcs_file_transfer_out.xml
│   │   │   ├── geoloc_display.xml
│   │   │   ├── geoloc_edit.xml
│   │   │   ├── geoloc_sharing_initiate.xml
│   │   │   ├── geoloc_sharing_receive.xml
│   │   │   ├── geoloc_show.xml
│   │   │   ├── groupchat_event_view_item.xml
│   │   │   ├── history_log_sharing.xml
│   │   │   ├── image_sharing_initiate.xml
│   │   │   ├── image_sharing_receive.xml
│   │   │   ├── intents_apps.xml
│   │   │   ├── ri_list.xml
│   │   │   ├── service_configuration.xml
│   │   │   ├── service_registration.xml
│   │   │   ├── service_status.xml
│   │   │   ├── sharing_log_geoloc_item.xml
│   │   │   ├── sharing_log_image_item.xml
│   │   │   ├── sharing_log_list.xml
│   │   │   ├── sharing_log_video_item.xml
│   │   │   ├── talk_item_rcs_chat_in.xml
│   │   │   ├── talk_item_rcs_chat_out.xml
│   │   │   ├── talk_item_rcs_file_transfer_in.xml
│   │   │   ├── talk_item_rcs_file_transfer_out.xml
│   │   │   ├── talk_log_group_item.xml
│   │   │   ├── talk_log_one_to_one_item.xml
│   │   │   ├── utils_smiley_menu_item.xml
│   │   │   ├── utils_spinner_item.xml
│   │   │   ├── video_sharing_incoming.xml
│   │   │   └── video_sharing_outgoing.xml
│   │   ├── menu/
│   │   │   ├── menu_1to1_talk.xml
│   │   │   ├── menu_1to1_talk_item.xml
│   │   │   ├── menu_ft.xml
│   │   │   ├── menu_gchat_item.xml
│   │   │   ├── menu_geoloc_sharing.xml
│   │   │   ├── menu_group_chat.xml
│   │   │   ├── menu_historylog.xml
│   │   │   ├── menu_image_sharing.xml
│   │   │   ├── menu_initiate_ft.xml
│   │   │   ├── menu_log.xml
│   │   │   ├── menu_log_item.xml
│   │   │   ├── menu_log_sharing_item.xml
│   │   │   ├── menu_mm_session.xml
│   │   │   └── menu_video_sharing.xml
│   │   └── values/
│   │       ├── filetotransfer.xml
│   │       ├── quicktexts.xml
│   │       ├── smileys.xml
│   │       └── strings.xml
│   └── src/
│       └── com/
│           └── gsma/
│               └── rcs/
│                   └── ri/
│                       ├── AboutRI.java
│                       ├── DeviceBoot.java
│                       ├── RI.java
│                       ├── RcsServiceNotifManager.java
│                       ├── RiApplication.java
│                       ├── capabilities/
│                       │   ├── CapabilitiesList.java
│                       │   ├── MyCapabilities.java
│                       │   ├── RequestAllCapabilities.java
│                       │   ├── RequestCapabilities.java
│                       │   └── TestCapabilitiesApi.java
│                       ├── contacts/
│                       │   ├── BlockingContact.java
│                       │   ├── ContactVCard.java
│                       │   ├── RcsContactsList.java
│                       │   └── TestContactsApi.java
│                       ├── extension/
│                       │   ├── InitiateMultimediaSession.java
│                       │   ├── InstantMessageReceiver.java
│                       │   ├── MultiMediaSessionIntentService.java
│                       │   ├── MultimediaSessionList.java
│                       │   ├── SendInstantMessage.java
│                       │   ├── SessionInvitationReceiver.java
│                       │   ├── TestMultimediaSessionApi.java
│                       │   ├── messaging/
│                       │   │   ├── InitiateMessagingSession.java
│                       │   │   ├── MessagingSessionList.java
│                       │   │   ├── MessagingSessionUtils.java
│                       │   │   └── MessagingSessionView.java
│                       │   └── streaming/
│                       │       ├── InitiateStreamingSession.java
│                       │       ├── StreamingSessionList.java
│                       │       ├── StreamingSessionUtils.java
│                       │       └── StreamingSessionView.java
│                       ├── intents/
│                       │   └── TestIntentApps.java
│                       ├── messaging/
│                       │   ├── GroupDeliveryInfoList.java
│                       │   ├── GroupTalkView.java
│                       │   ├── OneToOneTalkView.java
│                       │   ├── TalkList.java
│                       │   ├── TalkListUpdate.java
│                       │   ├── TestMessagingApi.java
│                       │   ├── adapter/
│                       │   │   ├── BasicViewHolder.java
│                       │   │   ├── GroupDeliveryInfoCursorAdapter.java
│                       │   │   ├── RcsChatInViewHolder.java
│                       │   │   ├── RcsChatOutViewHolder.java
│                       │   │   ├── RcsFileTransferInViewHolder.java
│                       │   │   ├── RcsFileTransferOutViewHolder.java
│                       │   │   ├── TalkCursorAdapter.java
│                       │   │   ├── TalkListArrayAdapter.java
│                       │   │   └── TalkListArrayItem.java
│                       │   ├── chat/
│                       │   │   ├── ChatCursorObserver.java
│                       │   │   ├── ChatMessageDAO.java
│                       │   │   ├── ChatMessageLogView.java
│                       │   │   ├── ChatPendingIntentManager.java
│                       │   │   ├── ChatServiceConfigActivity.java
│                       │   │   ├── ISendFile.java
│                       │   │   ├── IsComposingManager.java
│                       │   │   ├── SendFile.java
│                       │   │   ├── TestChatApi.java
│                       │   │   ├── group/
│                       │   │   │   ├── GroupChatDAO.java
│                       │   │   │   ├── GroupChatIntentService.java
│                       │   │   │   ├── GroupChatInvitationReceiver.java
│                       │   │   │   ├── GroupChatMessageReceiver.java
│                       │   │   │   ├── InitiateGroupChat.java
│                       │   │   │   └── SendGroupFile.java
│                       │   │   └── single/
│                       │   │       ├── InitiateSingleChat.java
│                       │   │       ├── SendSingleFile.java
│                       │   │       ├── SingleChatIntentService.java
│                       │   │       ├── SingleChatInvitationReceiver.java
│                       │   │       └── UndeliveredMessageReceiver.java
│                       │   ├── filetransfer/
│                       │   │   ├── AudioMediaPlayer.java
│                       │   │   ├── AudioMessageRecordActivity.java
│                       │   │   ├── AudioRecorder.java
│                       │   │   ├── FileTransferDAO.java
│                       │   │   ├── FileTransferIntentService.java
│                       │   │   ├── FileTransferInvitationReceiver.java
│                       │   │   ├── FileTransferLogView.java
│                       │   │   ├── FileTransferResumeReceiver.java
│                       │   │   ├── FileTransferServiceConfigActivity.java
│                       │   │   ├── InitiateFileTransfer.java
│                       │   │   ├── ReceiveFileTransfer.java
│                       │   │   ├── TestFileTransferApi.java
│                       │   │   ├── UndeliveredFileReceiver.java
│                       │   │   └── multi/
│                       │   │       ├── FileTransferProperties.java
│                       │   │       ├── ISendMultiFile.java
│                       │   │       ├── SendMultiFile.java
│                       │   │       ├── SendMultiFileGroupChat.java
│                       │   │       └── SendMultiFileSingleChat.java
│                       │   └── geoloc/
│                       │       ├── DisplayGeoloc.java
│                       │       ├── EditGeoloc.java
│                       │       ├── SelectGeoloc.java
│                       │       └── ShowGeoloc.java
│                       ├── permissions/
│                       │   └── PermissionsActivity.java
│                       ├── service/
│                       │   ├── RegistrationStatus.java
│                       │   ├── ServiceConfigurationActivity.java
│                       │   ├── ServiceStatus.java
│                       │   └── TestServiceApi.java
│                       ├── sharing/
│                       │   ├── SharingListView.java
│                       │   ├── TestSharingApi.java
│                       │   ├── geoloc/
│                       │   │   ├── GeolocSharingDAO.java
│                       │   │   ├── GeolocSharingIntentService.java
│                       │   │   ├── GeolocSharingInvitationReceiver.java
│                       │   │   ├── GeolocSharingLogView.java
│                       │   │   ├── InitiateGeolocSharing.java
│                       │   │   └── ReceiveGeolocSharing.java
│                       │   ├── image/
│                       │   │   ├── ImageSharingDAO.java
│                       │   │   ├── ImageSharingIntentService.java
│                       │   │   ├── ImageSharingInvitationReceiver.java
│                       │   │   ├── ImageSharingLogView.java
│                       │   │   ├── InitiateImageSharing.java
│                       │   │   └── ReceiveImageSharing.java
│                       │   └── video/
│                       │       ├── IncomingVideoSharing.java
│                       │       ├── OutgoingVideoSharing.java
│                       │       ├── VideoSharingDAO.java
│                       │       ├── VideoSharingIntentService.java
│                       │       ├── VideoSharingInvitationReceiver.java
│                       │       ├── VideoSharingLogView.java
│                       │       └── media/
│                       │           ├── FifoBuffer.java
│                       │           ├── OriginatingVideoPlayer.java
│                       │           ├── TerminatingVideoPlayer.java
│                       │           ├── VideoPlayerListener.java
│                       │           ├── VideoSurface.java
│                       │           └── VideoSurfaceView.java
│                       ├── upload/
│                       │   └── InitiateFileUpload.java
│                       └── utils/
│                           ├── AbstractMessageParser.java
│                           ├── AndroidDatagramConnection.java
│                           ├── BitmapCache.java
│                           ├── BitmapLoader.java
│                           ├── ContactListAdapter.java
│                           ├── ContactUtil.java
│                           ├── DatagramConnection.java
│                           ├── FileUtils.java
│                           ├── ImageBitmapLoader.java
│                           ├── ImageUtils.java
│                           ├── LogUtils.java
│                           ├── NetworkRessourceManager.java
│                           ├── RcsContactUtil.java
│                           ├── RcsSessionUtil.java
│                           ├── SmileyParser.java
│                           ├── Smileys.java
│                           └── Utils.java
├── SDK/
│   ├── concepts.jd
│   ├── demos.jd
│   ├── download/
│   │   └── index.jd
│   ├── getStarted.jd
│   ├── index.jd
│   ├── overview.jd
│   ├── releases/
│   │   ├── Albatros.jd
│   │   ├── Blackbird.jd
│   │   ├── Crane.jd
│   │   ├── albatros.xml
│   │   ├── blackbird.xml
│   │   ├── current.xml
│   │   └── joyn-sdk.txt
│   ├── samples/
│   │   ├── connectService.jd
│   │   ├── detectServices.jd
│   │   ├── index.jd
│   │   ├── initChat.jd
│   │   ├── listContacts.jd
│   │   └── serviceSupported.jd
│   ├── support.jd
│   ├── tools/
│   │   ├── getToKnow.jd
│   │   ├── index.jd
│   │   └── installJoynServices.jd
│   └── tutorials/
│       ├── index.jd
│       ├── multiApp.jd
│       ├── multiCapability.jd
│       ├── popUpApp.jd
│       └── ttsApp.jd
├── build.gradle
├── build.xml
├── core/
│   ├── .gitignore
│   ├── AndroidManifest.xml
│   ├── LICENSE-2.0.txt
│   ├── LICENSE-BOUNCYCASTLE.txt
│   ├── LICENSE-DNS.txt
│   ├── LICENSE-NIST.txt
│   ├── NOTICE.txt
│   ├── README.md
│   ├── ant.properties
│   ├── build.gradle
│   ├── build.xml
│   ├── default.properties
│   ├── findbugs-exclude.xml
│   ├── jarfiles.txt
│   ├── proguard-project.txt
│   ├── proguard.cfg
│   ├── project.properties
│   ├── res/
│   │   ├── layout/
│   │   │   ├── activity_permissions_alert_dialog.xml
│   │   │   ├── provisioning.xml
│   │   │   ├── provisioning_capabilities.xml
│   │   │   ├── provisioning_logger.xml
│   │   │   ├── provisioning_profile.xml
│   │   │   ├── provisioning_service.xml
│   │   │   ├── provisioning_stack.xml
│   │   │   ├── rcs_provisioning_about.xml
│   │   │   ├── rcs_provisioning_generate_profile.xml
│   │   │   ├── rcs_terms_and_conditions.xml
│   │   │   └── rcs_wifi_provisioning.xml
│   │   ├── menu/
│   │   │   └── menu_provisioning.xml
│   │   ├── values/
│   │   │   ├── dimens.xml
│   │   │   ├── rcs_core_strings.xml
│   │   │   ├── rcs_provisioning_strings.xml
│   │   │   ├── rcs_settings_strings.xml
│   │   │   └── styles.xml
│   │   ├── values-de/
│   │   │   └── rcs_core_strings.xml
│   │   ├── values-fr/
│   │   │   └── rcs_core_strings.xml
│   │   ├── values-w820dp/
│   │   │   └── dimens.xml
│   │   └── xml/
│   │       ├── rcs_core_account_preferences.xml
│   │       ├── rcs_core_authenticator.xml
│   │       ├── rcs_core_contacts.xml
│   │       └── rcs_core_syncadapter.xml
│   ├── src/
│   │   └── com/
│   │       ├── gsma/
│   │       │   └── rcs/
│   │       │       ├── addressbook/
│   │       │       │   ├── AccountChangedReceiver.java
│   │       │       │   ├── AddressBookEventListener.java
│   │       │       │   ├── AddressBookManager.java
│   │       │       │   ├── AuthenticationService.java
│   │       │       │   ├── LocaleManager.java
│   │       │       │   ├── RcsAccountException.java
│   │       │       │   ├── RcsAccountManager.java
│   │       │       │   ├── SetupRcsAccount.java
│   │       │       │   └── SyncAdapterService.java
│   │       │       ├── core/
│   │       │       │   ├── Core.java
│   │       │       │   ├── CoreException.java
│   │       │       │   ├── CoreListener.java
│   │       │       │   ├── FileAccessException.java
│   │       │       │   ├── ParseFailureException.java
│   │       │       │   ├── TerminalInfo.java
│   │       │       │   ├── access/
│   │       │       │   │   ├── MobileNetworkAccess.java
│   │       │       │   │   ├── NetworkAccess.java
│   │       │       │   │   └── WifiNetworkAccess.java
│   │       │       │   ├── content/
│   │       │       │   │   ├── AudioContent.java
│   │       │       │   │   ├── ContentManager.java
│   │       │       │   │   ├── FileContent.java
│   │       │       │   │   ├── GeolocContent.java
│   │       │       │   │   ├── LiveAudioContent.java
│   │       │       │   │   ├── LiveVideoContent.java
│   │       │       │   │   ├── MmContent.java
│   │       │       │   │   ├── PhotoContent.java
│   │       │       │   │   ├── VideoContent.java
│   │       │       │   │   └── VisitCardContent.java
│   │       │       │   └── ims/
│   │       │       │       ├── ImsError.java
│   │       │       │       ├── ImsModule.java
│   │       │       │       ├── network/
│   │       │       │       │   ├── ImsConnectionManager.java
│   │       │       │       │   ├── ImsNetworkInterface.java
│   │       │       │       │   ├── MobileNetworkInterface.java
│   │       │       │       │   ├── NetworkException.java
│   │       │       │       │   ├── WifiNetworkInterface.java
│   │       │       │       │   ├── gsm/
│   │       │       │       │   │   └── CallManager.java
│   │       │       │       │   ├── registration/
│   │       │       │       │   │   ├── GibaRegistrationProcedure.java
│   │       │       │       │   │   ├── HttpDigestRegistrationProcedure.java
│   │       │       │       │   │   ├── RegistrationManager.java
│   │       │       │       │   │   ├── RegistrationProcedure.java
│   │       │       │       │   │   └── RegistrationUtils.java
│   │       │       │       │   └── sip/
│   │       │       │       │       ├── FeatureTags.java
│   │       │       │       │       ├── Multipart.java
│   │       │       │       │       ├── SipManager.java
│   │       │       │       │       ├── SipMessageFactory.java
│   │       │       │       │       └── SipUtils.java
│   │       │       │       ├── protocol/
│   │       │       │       │   ├── PayloadException.java
│   │       │       │       │   ├── http/
│   │       │       │       │   │   ├── HttpAuthenticationAgent.java
│   │       │       │       │   │   ├── HttpDeleteRequest.java
│   │       │       │       │   │   ├── HttpGetRequest.java
│   │       │       │       │   │   ├── HttpPostRequest.java
│   │       │       │       │   │   ├── HttpPutRequest.java
│   │       │       │       │   │   ├── HttpRequest.java
│   │       │       │       │   │   └── HttpResponse.java
│   │       │       │       │   ├── msrp/
│   │       │       │       │   │   ├── ChunkReceiver.java
│   │       │       │       │   │   ├── ChunkSender.java
│   │       │       │       │   │   ├── DataChunks.java
│   │       │       │       │   │   ├── FifoBuffer.java
│   │       │       │       │   │   ├── MsrpClientConnection.java
│   │       │       │       │   │   ├── MsrpConnection.java
│   │       │       │       │   │   ├── MsrpConstants.java
│   │       │       │       │   │   ├── MsrpEventListener.java
│   │       │       │       │   │   ├── MsrpManager.java
│   │       │       │       │   │   ├── MsrpServerConnection.java
│   │       │       │       │   │   ├── MsrpSession.java
│   │       │       │       │   │   ├── MsrpTransaction.java
│   │       │       │       │   │   ├── MsrpUtils.java
│   │       │       │       │   │   ├── ReportTransaction.java
│   │       │       │       │   │   └── RequestTransaction.java
│   │       │       │       │   ├── rtp/
│   │       │       │       │   │   ├── CodecChain.java
│   │       │       │       │   │   ├── DummyPacketGenerator.java
│   │       │       │       │   │   ├── MediaRegistry.java
│   │       │       │       │   │   ├── MediaRtpReceiver.java
│   │       │       │       │   │   ├── MediaRtpSender.java
│   │       │       │       │   │   ├── Processor.java
│   │       │       │       │   │   ├── RtpUtils.java
│   │       │       │       │   │   ├── VideoRtpReceiver.java
│   │       │       │       │   │   ├── VideoRtpSender.java
│   │       │       │       │   │   ├── codec/
│   │       │       │       │   │   │   ├── Codec.java
│   │       │       │       │   │   │   ├── audio/
│   │       │       │       │   │   │   │   ├── AudioCodec.java
│   │       │       │       │   │   │   │   └── amr/
│   │       │       │       │   │   │   │       └── AMRWBConfig.java
│   │       │       │       │   │   │   └── video/
│   │       │       │       │   │   │       ├── VideoCodec.java
│   │       │       │       │   │   │       └── h264/
│   │       │       │       │   │   │           ├── H264Config.java
│   │       │       │       │   │   │           ├── H264RtpHeaders.java
│   │       │       │       │   │   │           ├── JavaDepacketizer.java
│   │       │       │       │   │   │           ├── JavaPacketizer.java
│   │       │       │       │   │   │           ├── NalUnitHeader.java
│   │       │       │       │   │   │           ├── NalUnitType.java
│   │       │       │       │   │   │           ├── decoder/
│   │       │       │       │   │   │           │   └── NativeH264Decoder.java
│   │       │       │       │   │   │           ├── encoder/
│   │       │       │       │   │   │           │   ├── NativeH264Encoder.java
│   │       │       │       │   │   │           │   └── NativeH264EncoderParams.java
│   │       │       │       │   │   │           └── profiles/
│   │       │       │       │   │   │               ├── H264Profile.java
│   │       │       │       │   │   │               ├── H264Profile1.java
│   │       │       │       │   │   │               ├── H264Profile1_1.java
│   │       │       │       │   │   │               ├── H264Profile1_2.java
│   │       │       │       │   │   │               ├── H264Profile1_3.java
│   │       │       │       │   │   │               ├── H264Profile1b.java
│   │       │       │       │   │   │               ├── H264TypeLevel.java
│   │       │       │       │   │   │               └── H264TypeProfile.java
│   │       │       │       │   │   ├── core/
│   │       │       │       │   │   │   ├── ReceptionReport.java
│   │       │       │       │   │   │   ├── RtcpAppPacket.java
│   │       │       │       │   │   │   ├── RtcpByePacket.java
│   │       │       │       │   │   │   ├── RtcpCompoundPacket.java
│   │       │       │       │   │   │   ├── RtcpPacket.java
│   │       │       │       │   │   │   ├── RtcpPacketReceiver.java
│   │       │       │       │   │   │   ├── RtcpPacketTransmitter.java
│   │       │       │       │   │   │   ├── RtcpPacketUtils.java
│   │       │       │       │   │   │   ├── RtcpReceiverReportPacket.java
│   │       │       │       │   │   │   ├── RtcpReport.java
│   │       │       │       │   │   │   ├── RtcpSdesBlock.java
│   │       │       │       │   │   │   ├── RtcpSdesItem.java
│   │       │       │       │   │   │   ├── RtcpSdesPacket.java
│   │       │       │       │   │   │   ├── RtcpSenderReportPacket.java
│   │       │       │       │   │   │   ├── RtcpSession.java
│   │       │       │       │   │   │   ├── RtcpStatisticsReceiver.java
│   │       │       │       │   │   │   ├── RtcpStatisticsTransmitter.java
│   │       │       │       │   │   │   ├── RtpExtensionHeader.java
│   │       │       │       │   │   │   ├── RtpPacket.java
│   │       │       │       │   │   │   ├── RtpPacketReceiver.java
│   │       │       │       │   │   │   ├── RtpPacketTransmitter.java
│   │       │       │       │   │   │   ├── RtpSource.java
│   │       │       │       │   │   │   ├── RtpStatisticsReceiver.java
│   │       │       │       │   │   │   └── RtpStatisticsTransmitter.java
│   │       │       │       │   │   ├── event/
│   │       │       │       │   │   │   ├── RtcpApplicationEvent.java
│   │       │       │       │   │   │   ├── RtcpByeEvent.java
│   │       │       │       │   │   │   ├── RtcpEvent.java
│   │       │       │       │   │   │   ├── RtcpEventListener.java
│   │       │       │       │   │   │   ├── RtcpReceiverReportEvent.java
│   │       │       │       │   │   │   ├── RtcpSdesEvent.java
│   │       │       │       │   │   │   └── RtcpSenderReportEvent.java
│   │       │       │       │   │   ├── format/
│   │       │       │       │   │   │   ├── DummyFormat.java
│   │       │       │       │   │   │   ├── Format.java
│   │       │       │       │   │   │   ├── audio/
│   │       │       │       │   │   │   │   ├── AmrWbAudioFormat.java
│   │       │       │       │   │   │   │   └── AudioFormat.java
│   │       │       │       │   │   │   ├── data/
│   │       │       │       │   │   │   │   └── DataFormat.java
│   │       │       │       │   │   │   └── video/
│   │       │       │       │   │   │       ├── CameraOptions.java
│   │       │       │       │   │   │       ├── H264VideoFormat.java
│   │       │       │       │   │   │       ├── Orientation.java
│   │       │       │       │   │   │       ├── VideoFormat.java
│   │       │       │       │   │   │       └── VideoOrientation.java
│   │       │       │       │   │   ├── media/
│   │       │       │       │   │   │   ├── MediaException.java
│   │       │       │       │   │   │   ├── MediaInput.java
│   │       │       │       │   │   │   ├── MediaListener.java
│   │       │       │       │   │   │   ├── MediaOutput.java
│   │       │       │       │   │   │   ├── MediaSample.java
│   │       │       │       │   │   │   └── VideoSample.java
│   │       │       │       │   │   ├── stream/
│   │       │       │       │   │   │   ├── DummyPacketSourceStream.java
│   │       │       │       │   │   │   ├── MediaCaptureStream.java
│   │       │       │       │   │   │   ├── MediaRendererStream.java
│   │       │       │       │   │   │   ├── ProcessorInputStream.java
│   │       │       │       │   │   │   ├── ProcessorOutputStream.java
│   │       │       │       │   │   │   ├── RtpInputStream.java
│   │       │       │       │   │   │   ├── RtpOutputStream.java
│   │       │       │       │   │   │   ├── RtpStreamListener.java
│   │       │       │       │   │   │   ├── VideoCaptureStream.java
│   │       │       │       │   │   │   └── VideoRendererStream.java
│   │       │       │       │   │   └── util/
│   │       │       │       │   │       ├── Buffer.java
│   │       │       │       │   │       ├── Packet.java
│   │       │       │       │   │       ├── RtpConstants.java
│   │       │       │       │   │       └── SystemTimeBase.java
│   │       │       │       │   ├── sdp/
│   │       │       │       │   │   ├── MediaAttribute.java
│   │       │       │       │   │   ├── MediaDescription.java
│   │       │       │       │   │   ├── Parser.java
│   │       │       │       │   │   ├── SdpParser.java
│   │       │       │       │   │   ├── SdpUtils.java
│   │       │       │       │   │   ├── SessionDescription.java
│   │       │       │       │   │   └── TimeDescription.java
│   │       │       │       │   └── sip/
│   │       │       │       │       ├── KeepAliveManager.java
│   │       │       │       │       ├── SipDialogPath.java
│   │       │       │       │       ├── SipEventListener.java
│   │       │       │       │       ├── SipInterface.java
│   │       │       │       │       ├── SipMessage.java
│   │       │       │       │       ├── SipRequest.java
│   │       │       │       │       ├── SipResponse.java
│   │       │       │       │       ├── SipTransactionContext.java
│   │       │       │       │       └── SipTransactionList.java
│   │       │       │       ├── security/
│   │       │       │       │   ├── Digest.java
│   │       │       │       │   ├── GeneralDigest.java
│   │       │       │       │   ├── HttpDigestMd5Authentication.java
│   │       │       │       │   ├── MD5Digest.java
│   │       │       │       │   └── cert/
│   │       │       │       │       ├── KeyStoreManager.java
│   │       │       │       │       ├── KeyStoreManagerException.java
│   │       │       │       │       └── X509KeyManagerWrapper.java
│   │       │       │       ├── service/
│   │       │       │       │   ├── ContactInfo.java
│   │       │       │       │   ├── ImsService.java
│   │       │       │       │   ├── ImsServiceDispatcher.java
│   │       │       │       │   ├── ImsServiceError.java
│   │       │       │       │   ├── ImsServiceSession.java
│   │       │       │       │   ├── ImsSessionBasedServiceError.java
│   │       │       │       │   ├── ImsSessionListener.java
│   │       │       │       │   ├── SessionActivityManager.java
│   │       │       │       │   ├── SessionAuthenticationAgent.java
│   │       │       │       │   ├── SessionIdGenerator.java
│   │       │       │       │   ├── SessionNotEstablishedException.java
│   │       │       │       │   ├── SessionTimerManager.java
│   │       │       │       │   ├── SipIntentManager.java
│   │       │       │       │   ├── UpdateSessionManager.java
│   │       │       │       │   ├── UpdateSessionManagerListener.java
│   │       │       │       │   ├── capability/
│   │       │       │       │   │   ├── AnonymousFetchManager.java
│   │       │       │       │   │   ├── AnonymousFetchRequestTask.java
│   │       │       │       │   │   ├── Capabilities.java
│   │       │       │       │   │   ├── CapabilityError.java
│   │       │       │       │   │   ├── CapabilityService.java
│   │       │       │       │   │   ├── CapabilityUtils.java
│   │       │       │       │   │   ├── DiscoveryManager.java
│   │       │       │       │   │   ├── ExternalCapabilityMonitoring.java
│   │       │       │       │   │   ├── OptionsManager.java
│   │       │       │       │   │   ├── OptionsRequestTask.java
│   │       │       │       │   │   ├── PollingManager.java
│   │       │       │       │   │   └── SyncContactTask.java
│   │       │       │       │   ├── extension/
│   │       │       │       │   │   ├── ServiceExtensionManager.java
│   │       │       │       │   │   └── SupportedExtensionUpdater.java
│   │       │       │       │   ├── im/
│   │       │       │       │   │   ├── InstantMessagingService.java
│   │       │       │       │   │   ├── chat/
│   │       │       │       │   │   │   ├── ChatError.java
│   │       │       │       │   │   │   ├── ChatMessage.java
│   │       │       │       │   │   │   ├── ChatSession.java
│   │       │       │       │   │   │   ├── ChatSessionListener.java
│   │       │       │       │   │   │   ├── ChatUtils.java
│   │       │       │       │   │   │   ├── ContributionIdGenerator.java
│   │       │       │       │   │   │   ├── GroupChatAutoRejoinTask.java
│   │       │       │       │   │   │   ├── GroupChatInfo.java
│   │       │       │       │   │   │   ├── GroupChatSession.java
│   │       │       │       │   │   │   ├── GroupChatSessionListener.java
│   │       │       │       │   │   │   ├── OneToOneChatSession.java
│   │       │       │       │   │   │   ├── OneToOneChatSessionListener.java
│   │       │       │       │   │   │   ├── OriginatingAdhocGroupChatSession.java
│   │       │       │       │   │   │   ├── OriginatingOneToOneChatSession.java
│   │       │       │       │   │   │   ├── ParticipantInfoUtils.java
│   │       │       │       │   │   │   ├── RejoinGroupChatSession.java
│   │       │       │       │   │   │   ├── RestartGroupChatSession.java
│   │       │       │       │   │   │   ├── SessionUnavailableException.java
│   │       │       │       │   │   │   ├── TerminatingAdhocGroupChatSession.java
│   │       │       │       │   │   │   ├── TerminatingOneToOneChatSession.java
│   │       │       │       │   │   │   ├── cpim/
│   │       │       │       │   │   │   │   ├── CpimHeader.java
│   │       │       │       │   │   │   │   ├── CpimIdentity.java
│   │       │       │       │   │   │   │   ├── CpimMessage.java
│   │       │       │       │   │   │   │   └── CpimParser.java
│   │       │       │       │   │   │   ├── event/
│   │       │       │       │   │   │   │   ├── ConferenceEventSubscribeManager.java
│   │       │       │       │   │   │   │   ├── ConferenceInfoDocument.java
│   │       │       │       │   │   │   │   ├── ConferenceInfoParser.java
│   │       │       │       │   │   │   │   └── User.java
│   │       │       │       │   │   │   ├── geoloc/
│   │       │       │       │   │   │   │   ├── GeolocInfoDocument.java
│   │       │       │       │   │   │   │   └── GeolocInfoParser.java
│   │       │       │       │   │   │   ├── imdn/
│   │       │       │       │   │   │   │   ├── DeliveryExpirationManager.java
│   │       │       │       │   │   │   │   ├── ImdnDocument.java
│   │       │       │       │   │   │   │   ├── ImdnManager.java
│   │       │       │       │   │   │   │   ├── ImdnParser.java
│   │       │       │       │   │   │   │   └── ImdnUtils.java
│   │       │       │       │   │   │   ├── iscomposing/
│   │       │       │       │   │   │   │   ├── IsComposingInfo.java
│   │       │       │       │   │   │   │   ├── IsComposingManager.java
│   │       │       │       │   │   │   │   └── IsComposingParser.java
│   │       │       │       │   │   │   ├── resourcelist/
│   │       │       │       │   │   │   │   ├── ResourceListDocument.java
│   │       │       │       │   │   │   │   └── ResourceListParser.java
│   │       │       │       │   │   │   └── standfw/
│   │       │       │       │   │   │       ├── StoreAndForwardManager.java
│   │       │       │       │   │   │       ├── TerminatingStoreAndForwardOneToOneChatMessageSession.java
│   │       │       │       │   │   │       └── TerminatingStoreAndForwardOneToOneChatNotificationSession.java
│   │       │       │       │   │   └── filetransfer/
│   │       │       │       │   │       ├── FileSharingError.java
│   │       │       │       │   │       ├── FileSharingSession.java
│   │       │       │       │   │       ├── FileSharingSessionListener.java
│   │       │       │       │   │       ├── FileTransferUtils.java
│   │       │       │       │   │       ├── ImsFileSharingSession.java
│   │       │       │       │   │       ├── http/
│   │       │       │       │   │       │   ├── DownloadFromAcceptFileSharingSession.java
│   │       │       │       │   │       │   ├── DownloadFromInviteFileSharingSession.java
│   │       │       │       │   │       │   ├── DownloadFromResumeFileSharingSession.java
│   │       │       │       │   │       │   ├── FileNotDownloadedException.java
│   │       │       │       │   │       │   ├── FileTransferHttpInfoDocument.java
│   │       │       │       │   │       │   ├── FileTransferHttpResumeInfo.java
│   │       │       │       │   │       │   ├── FileTransferHttpResumeInfoParser.java
│   │       │       │       │   │       │   ├── FileTransferHttpThumbnail.java
│   │       │       │       │   │       │   ├── FileTransferXmlParser.java
│   │       │       │       │   │       │   ├── FtHttpResumeManager.java
│   │       │       │       │   │       │   ├── HttpDownloadManager.java
│   │       │       │       │   │       │   ├── HttpFileTransferSession.java
│   │       │       │       │   │       │   ├── HttpTransferEventListener.java
│   │       │       │       │   │       │   ├── HttpTransferManager.java
│   │       │       │       │   │       │   ├── HttpUploadManager.java
│   │       │       │       │   │       │   ├── HttpUploadTransferEventListener.java
│   │       │       │       │   │       │   ├── OriginatingHttpFileSharingSession.java
│   │       │       │       │   │       │   ├── OriginatingHttpGroupFileSharingSession.java
│   │       │       │       │   │       │   ├── ResumeUploadFileSharingSession.java
│   │       │       │       │   │       │   ├── ResumeUploadGroupFileSharingSession.java
│   │       │       │       │   │       │   └── TerminatingHttpFileSharingSession.java
│   │       │       │       │   │       └── msrp/
│   │       │       │       │   │           ├── OriginatingMsrpFileSharingSession.java
│   │       │       │       │   │           └── TerminatingMsrpFileSharingSession.java
│   │       │       │       │   ├── presence/
│   │       │       │       │   │   ├── FavoriteLink.java
│   │       │       │       │   │   ├── Geoloc.java
│   │       │       │       │   │   ├── PhotoIcon.java
│   │       │       │       │   │   ├── PresenceError.java
│   │       │       │       │   │   ├── PresenceInfo.java
│   │       │       │       │   │   ├── PresenceService.java
│   │       │       │       │   │   ├── PresenceSubscribeManager.java
│   │       │       │       │   │   ├── PresenceUtils.java
│   │       │       │       │   │   ├── PublishManager.java
│   │       │       │       │   │   ├── SubscribeManager.java
│   │       │       │       │   │   ├── WatcherInfoSubscribeManager.java
│   │       │       │       │   │   ├── directory/
│   │       │       │       │   │   │   ├── Entry.java
│   │       │       │       │   │   │   ├── Folder.java
│   │       │       │       │   │   │   └── XcapDirectoryParser.java
│   │       │       │       │   │   ├── pidf/
│   │       │       │       │   │   │   ├── Basic.java
│   │       │       │       │   │   │   ├── Contact.java
│   │       │       │       │   │   │   ├── Note.java
│   │       │       │       │   │   │   ├── OverridingWillingness.java
│   │       │       │       │   │   │   ├── Person.java
│   │       │       │       │   │   │   ├── PidfDocument.java
│   │       │       │       │   │   │   ├── PidfParser.java
│   │       │       │       │   │   │   ├── Service.java
│   │       │       │       │   │   │   ├── Status.java
│   │       │       │       │   │   │   ├── StatusIcon.java
│   │       │       │       │   │   │   ├── Tuple.java
│   │       │       │       │   │   │   └── geoloc/
│   │       │       │       │   │   │       └── Geopriv.java
│   │       │       │       │   │   ├── rlmi/
│   │       │       │       │   │   │   ├── ResourceInstance.java
│   │       │       │       │   │   │   ├── RlmiDocument.java
│   │       │       │       │   │   │   └── RlmiParser.java
│   │       │       │       │   │   ├── watcherinfo/
│   │       │       │       │   │   │   ├── Watcher.java
│   │       │       │       │   │   │   ├── WatcherInfoDocument.java
│   │       │       │       │   │   │   └── WatcherInfoParser.java
│   │       │       │       │   │   └── xdm/
│   │       │       │       │   │       ├── HttpAuthenticationAgent.java
│   │       │       │       │   │       ├── XcapResponseParser.java
│   │       │       │       │   │       └── XdmManager.java
│   │       │       │       │   ├── richcall/
│   │       │       │       │   │   ├── ContentSharingError.java
│   │       │       │       │   │   ├── ContentSharingSession.java
│   │       │       │       │   │   ├── RichcallService.java
│   │       │       │       │   │   ├── geoloc/
│   │       │       │       │   │   │   ├── GeolocTransferSession.java
│   │       │       │       │   │   │   ├── GeolocTransferSessionListener.java
│   │       │       │       │   │   │   ├── OriginatingGeolocTransferSession.java
│   │       │       │       │   │   │   └── TerminatingGeolocTransferSession.java
│   │       │       │       │   │   ├── image/
│   │       │       │       │   │   │   ├── ImageTransferSession.java
│   │       │       │       │   │   │   ├── ImageTransferSessionListener.java
│   │       │       │       │   │   │   ├── OriginatingImageTransferSession.java
│   │       │       │       │   │   │   └── TerminatingImageTransferSession.java
│   │       │       │       │   │   └── video/
│   │       │       │       │   │       ├── OriginatingVideoStreamingSession.java
│   │       │       │       │   │       ├── SdpOrientationExtension.java
│   │       │       │       │   │       ├── TerminatingVideoStreamingSession.java
│   │       │       │       │   │       ├── VideoCodecManager.java
│   │       │       │       │   │       ├── VideoSdpBuilder.java
│   │       │       │       │   │       ├── VideoStreamingSession.java
│   │       │       │       │   │       └── VideoStreamingSessionListener.java
│   │       │       │       │   ├── sip/
│   │       │       │       │   │   ├── EnrichCallingService.java
│   │       │       │       │   │   ├── GenericSipSession.java
│   │       │       │       │   │   ├── ImmManager.java
│   │       │       │       │   │   ├── SipService.java
│   │       │       │       │   │   ├── SipSessionError.java
│   │       │       │       │   │   ├── SipSessionListener.java
│   │       │       │       │   │   ├── messaging/
│   │       │       │       │   │   │   ├── GenericSipMsrpSession.java
│   │       │       │       │   │   │   ├── OriginatingSipMsrpSession.java
│   │       │       │       │   │   │   └── TerminatingSipMsrpSession.java
│   │       │       │       │   │   └── streaming/
│   │       │       │       │   │       ├── DataReceiver.java
│   │       │       │       │   │       ├── DataSender.java
│   │       │       │       │   │       ├── GenericSipRtpSession.java
│   │       │       │       │   │       ├── OriginatingSipRtpSession.java
│   │       │       │       │   │       └── TerminatingSipRtpSession.java
│   │       │       │       │   ├── terms/
│   │       │       │       │   │   ├── EndUserNotificationParser.java
│   │       │       │       │   │   ├── TermsAckParser.java
│   │       │       │       │   │   ├── TermsConditionsService.java
│   │       │       │       │   │   └── TermsRequestParser.java
│   │       │       │       │   └── upload/
│   │       │       │       │       ├── FileUploadSession.java
│   │       │       │       │       └── FileUploadSessionListener.java
│   │       │       │       └── userprofile/
│   │       │       │           ├── GibaUserProfileInterface.java
│   │       │       │           ├── SettingsUserProfileInterface.java
│   │       │       │           ├── UserProfile.java
│   │       │       │           └── UserProfileInterface.java
│   │       │       ├── platform/
│   │       │       │   ├── AndroidFactory.java
│   │       │       │   ├── FactoryException.java
│   │       │       │   ├── file/
│   │       │       │   │   ├── AndroidFileFactory.java
│   │       │       │   │   ├── FileDescription.java
│   │       │       │   │   └── FileFactory.java
│   │       │       │   ├── logger/
│   │       │       │   │   └── AndroidAppender.java
│   │       │       │   ├── network/
│   │       │       │   │   ├── AndroidDatagramConnection.java
│   │       │       │   │   ├── AndroidHttpConnection.java
│   │       │       │   │   ├── AndroidNetworkFactory.java
│   │       │       │   │   ├── AndroidSecureSocketConnection.java
│   │       │       │   │   ├── AndroidSocketConnection.java
│   │       │       │   │   ├── AndroidSocketServerConnection.java
│   │       │       │   │   ├── DatagramConnection.java
│   │       │       │   │   ├── HttpConnection.java
│   │       │       │   │   ├── NetworkFactory.java
│   │       │       │   │   ├── SocketConnection.java
│   │       │       │   │   └── SocketServerConnection.java
│   │       │       │   └── registry/
│   │       │       │       ├── AndroidRegistryFactory.java
│   │       │       │       └── RegistryFactory.java
│   │       │       ├── provider/
│   │       │       │   ├── ContentProviderBaseIdCreator.java
│   │       │       │   ├── CursorUtil.java
│   │       │       │   ├── DeleteTask.java
│   │       │       │   ├── LocalContentResolver.java
│   │       │       │   ├── UserProfilePersistedStorageUtil.java
│   │       │       │   ├── contact/
│   │       │       │   │   ├── ContactData.java
│   │       │       │   │   ├── ContactManager.java
│   │       │       │   │   ├── ContactManagerException.java
│   │       │       │   │   └── ContactProvider.java
│   │       │       │   ├── fthttp/
│   │       │       │   │   ├── FtHttpResume.java
│   │       │       │   │   ├── FtHttpResumeDownload.java
│   │       │       │   │   └── FtHttpResumeUpload.java
│   │       │       │   ├── history/
│   │       │       │   │   ├── GroupChatDequeueTask.java
│   │       │       │   │   ├── GroupChatTerminalExceptionTask.java
│   │       │       │   │   ├── HistoryConstants.java
│   │       │       │   │   ├── HistoryLog.java
│   │       │       │   │   ├── HistoryLogData.java
│   │       │       │   │   ├── HistoryMemberBaseIdCreator.java
│   │       │       │   │   ├── HistoryMemberDatabase.java
│   │       │       │   │   ├── HistoryProvider.java
│   │       │       │   │   ├── MultiDbProvider.java
│   │       │       │   │   ├── OneToOneChatDequeueTask.java
│   │       │       │   │   └── QueryHelper.java
│   │       │       │   ├── messaging/
│   │       │       │   │   ├── ChatMessagePersistedStorageAccessor.java
│   │       │       │   │   ├── ChatProvider.java
│   │       │       │   │   ├── DelayedDisplayNotificationDispatcher.java
│   │       │       │   │   ├── FileTransferData.java
│   │       │       │   │   ├── FileTransferDequeueTask.java
│   │       │       │   │   ├── FileTransferLog.java
│   │       │       │   │   ├── FileTransferPersistedStorageAccessor.java
│   │       │       │   │   ├── FileTransferProvider.java
│   │       │       │   │   ├── FileTransferStateAndReasonCode.java
│   │       │       │   │   ├── GroupChatData.java
│   │       │       │   │   ├── GroupChatDeleteTask.java
│   │       │       │   │   ├── GroupChatLog.java
│   │       │       │   │   ├── GroupChatMessageDeleteTask.java
│   │       │       │   │   ├── GroupChatPersistedStorageAccessor.java
│   │       │       │   │   ├── GroupDeliveryInfoData.java
│   │       │       │   │   ├── GroupDeliveryInfoLog.java
│   │       │       │   │   ├── GroupDeliveryInfoProvider.java
│   │       │       │   │   ├── GroupFileTransferDeleteTask.java
│   │       │       │   │   ├── IFileTransferLog.java
│   │       │       │   │   ├── IGroupChatLog.java
│   │       │       │   │   ├── IGroupDeliveryInfoLog.java
│   │       │       │   │   ├── IMessageLog.java
│   │       │       │   │   ├── MessageData.java
│   │       │       │   │   ├── MessageLog.java
│   │       │       │   │   ├── MessagingLog.java
│   │       │       │   │   ├── OneToOneChatMessageDeleteTask.java
│   │       │       │   │   ├── OneToOneChatMessageDequeueTask.java
│   │       │       │   │   ├── OneToOneFileTransferDeleteTask.java
│   │       │       │   │   ├── RecreateDeliveryExpirationAlarms.java
│   │       │       │   │   └── UpdateFileTransferStateAfterUngracefulTerminationTask.java
│   │       │       │   ├── settings/
│   │       │       │   │   ├── RcsSettings.java
│   │       │       │   │   ├── RcsSettingsData.java
│   │       │       │   │   └── RcsSettingsProvider.java
│   │       │       │   └── sharing/
│   │       │       │       ├── GeolocSharingData.java
│   │       │       │       ├── GeolocSharingDeleteTask.java
│   │       │       │       ├── GeolocSharingPersistedStorageAccessor.java
│   │       │       │       ├── GeolocSharingProvider.java
│   │       │       │       ├── GeolocSharingStateAndReasonCode.java
│   │       │       │       ├── ImageSharingData.java
│   │       │       │       ├── ImageSharingDeleteTask.java
│   │       │       │       ├── ImageSharingPersistedStorageAccessor.java
│   │       │       │       ├── ImageSharingProvider.java
│   │       │       │       ├── ImageSharingStateAndReasonCode.java
│   │       │       │       ├── RichCallHistory.java
│   │       │       │       ├── UpdateGeolocSharingStateAfterUngracefulTerminationTask.java
│   │       │       │       ├── UpdateImageSharingStateAfterUngracefulTerminationTask.java
│   │       │       │       ├── UpdateVideoSharingStateAfterUngracefulTerminationTask.java
│   │       │       │       ├── VideoSharingData.java
│   │       │       │       ├── VideoSharingDeleteTask.java
│   │       │       │       ├── VideoSharingPersistedStorageAccessor.java
│   │       │       │       ├── VideoSharingProvider.java
│   │       │       │       └── VideoSharingStateAndReasonCode.java
│   │       │       ├── provisioning/
│   │       │       │   ├── Parameter.java
│   │       │       │   ├── ProvisioningFailureReasons.java
│   │       │       │   ├── ProvisioningInfo.java
│   │       │       │   ├── ProvisioningParser.java
│   │       │       │   ├── TermsAndConditionsRequest.java
│   │       │       │   ├── https/
│   │       │       │   │   ├── EasyX509TrustManager.java
│   │       │       │   │   ├── HttpsProvisioningAlertDialog.java
│   │       │       │   │   ├── HttpsProvisioningConnection.java
│   │       │       │   │   ├── HttpsProvisioningManager.java
│   │       │       │   │   ├── HttpsProvisioningMsisdnInput.java
│   │       │       │   │   ├── HttpsProvisioningResult.java
│   │       │       │   │   ├── HttpsProvisioningSMS.java
│   │       │       │   │   ├── HttpsProvisioningService.java
│   │       │       │   │   ├── HttpsProvisioningUtils.java
│   │       │       │   │   └── ProvisioningPushSMSReceiver.java
│   │       │       │   └── local/
│   │       │       │       ├── CapabilitiesProvisioning.java
│   │       │       │       ├── IProvisioningFragment.java
│   │       │       │       ├── LoggerProvisioning.java
│   │       │       │       ├── ProfileProvisioning.java
│   │       │       │       ├── Provisioning.java
│   │       │       │       ├── ProvisioningHelper.java
│   │       │       │       ├── ServiceProvisioning.java
│   │       │       │       ├── SlidingTabLayout.java
│   │       │       │       ├── SlidingTabStrip.java
│   │       │       │       ├── StackProvisioning.java
│   │       │       │       └── ViewPagerAdapter.java
│   │       │       ├── service/
│   │       │       │   ├── CpuManager.java
│   │       │       │   ├── DequeueTask.java
│   │       │       │   ├── DeviceBoot.java
│   │       │       │   ├── DeviceShutdown.java
│   │       │       │   ├── GroupChatInviteQueuedParticipantsTask.java
│   │       │       │   ├── LauncherUtils.java
│   │       │       │   ├── RcsCoreService.java
│   │       │       │   ├── RcsServiceControlReceiver.java
│   │       │       │   ├── StartService.java
│   │       │       │   ├── api/
│   │       │       │   │   ├── CapabilityServiceImpl.java
│   │       │       │   │   ├── ChatMessageImpl.java
│   │       │       │   │   ├── ChatServiceConfigurationImpl.java
│   │       │       │   │   ├── ChatServiceImpl.java
│   │       │       │   │   ├── CommonServiceConfigurationImpl.java
│   │       │       │   │   ├── ContactServiceImpl.java
│   │       │       │   │   ├── ExceptionUtil.java
│   │       │       │   │   ├── FileTransferServiceConfigurationImpl.java
│   │       │       │   │   ├── FileTransferServiceImpl.java
│   │       │       │   │   ├── FileUploadImpl.java
│   │       │       │   │   ├── FileUploadServiceConfigurationImpl.java
│   │       │       │   │   ├── FileUploadServiceImpl.java
│   │       │       │   │   ├── FileUploadStorageAccessor.java
│   │       │       │   │   ├── GeolocSharingImpl.java
│   │       │       │   │   ├── GeolocSharingServiceImpl.java
│   │       │       │   │   ├── GroupChatImpl.java
│   │       │       │   │   ├── GroupFileTransferImpl.java
│   │       │       │   │   ├── HistoryServiceImpl.java
│   │       │       │   │   ├── ImageSharingImpl.java
│   │       │       │   │   ├── ImageSharingServiceConfigurationImpl.java
│   │       │       │   │   ├── ImageSharingServiceImpl.java
│   │       │       │   │   ├── MultimediaMessagingSessionImpl.java
│   │       │       │   │   ├── MultimediaSessionServiceConfigurationImpl.java
│   │       │       │   │   ├── MultimediaSessionServiceImpl.java
│   │       │       │   │   ├── MultimediaSessionStorageAccessor.java
│   │       │       │   │   ├── MultimediaStreamingSessionImpl.java
│   │       │       │   │   ├── OneToOneChatImpl.java
│   │       │       │   │   ├── OneToOneDeliveryExpirationService.java
│   │       │       │   │   ├── OneToOneFileTransferImpl.java
│   │       │       │   │   ├── ServerApiBaseException.java
│   │       │       │   │   ├── ServerApiGenericException.java
│   │       │       │   │   ├── ServerApiIllegalArgumentException.java
│   │       │       │   │   ├── ServerApiMaxAllowedSessionLimitReachedException.java
│   │       │       │   │   ├── ServerApiPermissionDeniedException.java
│   │       │       │   │   ├── ServerApiPersistentStorageException.java
│   │       │       │   │   ├── ServerApiServiceNotRegisteredException.java
│   │       │       │   │   ├── ServerApiUnsupportedOperationException.java
│   │       │       │   │   ├── ServerApiUtils.java
│   │       │       │   │   ├── VideoSharingImpl.java
│   │       │       │   │   ├── VideoSharingServiceConfigurationImpl.java
│   │       │       │   │   └── VideoSharingServiceImpl.java
│   │       │       │   ├── broadcaster/
│   │       │       │   │   ├── CapabilitiesBroadcaster.java
│   │       │       │   │   ├── FileUploadEventBroadcaster.java
│   │       │       │   │   ├── GeolocSharingEventBroadcaster.java
│   │       │       │   │   ├── GroupChatEventBroadcaster.java
│   │       │       │   │   ├── GroupFileTransferBroadcaster.java
│   │       │       │   │   ├── IFileUploadEventBroadcaster.java
│   │       │       │   │   ├── IGeolocSharingEventBroadcaster.java
│   │       │       │   │   ├── IGroupChatEventBroadcaster.java
│   │       │       │   │   ├── IGroupFileTransferBroadcaster.java
│   │       │       │   │   ├── IImageSharingEventBroadcaster.java
│   │       │       │   │   ├── IMultimediaMessagingSessionEventBroadcaster.java
│   │       │       │   │   ├── IMultimediaStreamingSessionEventBroadcaster.java
│   │       │       │   │   ├── IOneToOneChatEventBroadcaster.java
│   │       │       │   │   ├── IOneToOneFileTransferBroadcaster.java
│   │       │       │   │   ├── IRcsServiceRegistrationEventBroadcaster.java
│   │       │       │   │   ├── IVideoSharingEventBroadcaster.java
│   │       │       │   │   ├── ImageSharingEventBroadcaster.java
│   │       │       │   │   ├── MultimediaMessagingSessionEventBroadcaster.java
│   │       │       │   │   ├── MultimediaStreamingSessionEventBroadcaster.java
│   │       │       │   │   ├── OneToOneChatEventBroadcaster.java
│   │       │       │   │   ├── OneToOneFileTransferBroadcaster.java
│   │       │       │   │   ├── RcsServiceRegistrationEventBroadcaster.java
│   │       │       │   │   └── VideoSharingEventBroadcaster.java
│   │       │       │   └── permissions/
│   │       │       │       ├── PermissionsAlertDialog.java
│   │       │       │       └── PermissionsManager.java
│   │       │       └── utils/
│   │       │           ├── Base64.java
│   │       │           ├── CloseableUtils.java
│   │       │           ├── ContactUtil.java
│   │       │           ├── DatabaseUtils.java
│   │       │           ├── DateUtils.java
│   │       │           ├── DeviceUtils.java
│   │       │           ├── FifoBuffer.java
│   │       │           ├── FileUtils.java
│   │       │           ├── HexadecimalUtils.java
│   │       │           ├── IdGenerator.java
│   │       │           ├── InetAddressUtils.java
│   │       │           ├── IntentUtils.java
│   │       │           ├── IpAddressUtils.java
│   │       │           ├── MimeManager.java
│   │       │           ├── NetworkRessourceManager.java
│   │       │           ├── NetworkUtils.java
│   │       │           ├── PeriodicRefresher.java
│   │       │           ├── PhoneUtils.java
│   │       │           ├── StorageUtils.java
│   │       │           ├── StringUtils.java
│   │       │           ├── TimerUtils.java
│   │       │           └── logger/
│   │       │               ├── Appender.java
│   │       │               └── Logger.java
│   │       └── telekom/
│   │           └── bouncycastle/
│   │               └── wrapper/
│   │                   └── SimpleContentSignerBuilder.java
│   └── tests/
│       ├── .gitignore
│       ├── AndroidManifest.xml
│       ├── ant.properties
│       ├── default.properties
│       ├── project.properties
│       ├── res/
│       │   └── .gitignore
│       └── src/
│           └── com/
│               └── gsma/
│                   ├── rcs/
│                   │   ├── InitTest.java
│                   │   ├── RcsSettingsMock.java
│                   │   ├── chat/
│                   │   │   ├── ChatSdpUtilsTest.java
│                   │   │   ├── ConferenceInfoParserTest.java
│                   │   │   ├── ImdnParserTest.java
│                   │   │   ├── IsComposingParserTest.java
│                   │   │   └── ResourceListParserTest.java
│                   │   ├── contact/
│                   │   │   └── ContactManagerTest.java
│                   │   ├── cpim/
│                   │   │   ├── CpimIdentityTest.java
│                   │   │   └── CpimParserTest.java
│                   │   ├── dns/
│                   │   │   └── DnsTest.java
│                   │   ├── im/
│                   │   │   ├── chat/
│                   │   │   │   ├── ChatLogTest.java
│                   │   │   │   ├── ChatMessageTest.java
│                   │   │   │   ├── GeolocInfoXmlParserTest.java
│                   │   │   │   └── MessageLogTest.java
│                   │   │   └── filetransfer/
│                   │   │       ├── FileTransferLogTest.java
│                   │   │       ├── FileTransferSdpUtilsTest.java
│                   │   │       └── FileTransferXmlParserTest.java
│                   │   ├── provider/
│                   │   │   └── UserProfilePersistedStorageUtilTest.java
│                   │   ├── richcall/
│                   │   │   └── VideoSdpTest.java
│                   │   └── utils/
│                   │       ├── Base64Test.java
│                   │       ├── ContactUtilMockContext.java
│                   │       ├── DateUtilsTest.java
│                   │       ├── IpAddressUtilsTest.java
│                   │       └── NetworkRessourceMangerTest.java
│                   └── service/
│                       └── rcs/
│                           ├── GeolocTest.java
│                           ├── capabilities/
│                           │   ├── CapabilitiesTest.java
│                           │   └── ServiceExtensionManagerTest.java
│                           ├── contacts/
│                           │   ├── ContactUtilTest.java
│                           │   ├── ContactUtilsTest.java
│                           │   └── RcsContactTest.java
│                           ├── history/
│                           │   └── HistoryLogTest.java
│                           └── upload/
│                               └── FileUploadInfoTest.java
├── docs/
│   ├── RCSJTA_open_source.ppt
│   ├── SUPPORTED-STANDARDS.txt
│   └── tapi/
│       ├── CR_1.6/
│       │   ├── RCSJTA_T-API1.6_CR001_AudioMessage-R1.doc
│       │   ├── RCSJTA_T-API1.6_CR001_AudioMessage-R2.doc
│       │   ├── RCSJTA_T-API1.6_CR001_AudioMessage_old.doc
│       │   ├── RCSJTA_T-API1.6_CR002_ReferenceToCranePriorityRelease-R1.doc
│       │   ├── RCSJTA_T-API1.6_CR002_ReferenceToCranePriorityRelease-R2.doc
│       │   ├── RCSJTA_T-API1.6_CR003_Capability_Discovery-R1.doc
│       │   ├── RCSJTA_TT_BB_CR001_EnrichCalling_R5.doc
│       │   └── RCSJTA_TT_BB_CR001_EnrichCalling_R6.doc
│       ├── RCC.53_CR1005_1.6.1.docx
│       ├── RCC.53_v3.0_1.5.1-r1.docx
│       ├── RCC.53_v3.0_1.5.1.docx
│       └── wiki/
│           ├── TAPI_architecture.ppt
│           ├── TAPI_capabilities_contact.ppt
│           └── TAPI_chat.ppt
├── eclipse/
│   ├── README.txt
│   ├── android-eclipse-formatting.xml
│   └── android.importorder
├── gradle/
│   └── wrapper/
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── libs/
│   ├── api/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   ├── proguard-rules.pro
│   │   ├── src/
│   │   │   └── main/
│   │   │       ├── AndroidManifest.xml
│   │   │       ├── aidl/
│   │   │       │   └── com/
│   │   │       │       └── gsma/
│   │   │       │           └── services/
│   │   │       │               └── rcs/
│   │   │       │                   ├── Geoloc.aidl
│   │   │       │                   ├── ICommonServiceConfiguration.aidl
│   │   │       │                   ├── IRcsServiceRegistrationListener.aidl
│   │   │       │                   ├── RcsServiceRegistration.aidl
│   │   │       │                   ├── capability/
│   │   │       │                   │   ├── Capabilities.aidl
│   │   │       │                   │   ├── ICapabilitiesListener.aidl
│   │   │       │                   │   └── ICapabilityService.aidl
│   │   │       │                   ├── chat/
│   │   │       │                   │   ├── IChatMessage.aidl
│   │   │       │                   │   ├── IChatService.aidl
│   │   │       │                   │   ├── IChatServiceConfiguration.aidl
│   │   │       │                   │   ├── IGroupChat.aidl
│   │   │       │                   │   ├── IGroupChatListener.aidl
│   │   │       │                   │   ├── IOneToOneChat.aidl
│   │   │       │                   │   └── IOneToOneChatListener.aidl
│   │   │       │                   ├── contact/
│   │   │       │                   │   ├── ContactId.aidl
│   │   │       │                   │   ├── IContactService.aidl
│   │   │       │                   │   └── RcsContact.aidl
│   │   │       │                   ├── extension/
│   │   │       │                   │   ├── IMultimediaMessagingSession.aidl
│   │   │       │                   │   ├── IMultimediaMessagingSessionListener.aidl
│   │   │       │                   │   ├── IMultimediaSessionService.aidl
│   │   │       │                   │   ├── IMultimediaSessionServiceConfiguration.aidl
│   │   │       │                   │   ├── IMultimediaStreamingSession.aidl
│   │   │       │                   │   └── IMultimediaStreamingSessionListener.aidl
│   │   │       │                   ├── filetransfer/
│   │   │       │                   │   ├── IFileTransfer.aidl
│   │   │       │                   │   ├── IFileTransferService.aidl
│   │   │       │                   │   ├── IFileTransferServiceConfiguration.aidl
│   │   │       │                   │   ├── IGroupFileTransferListener.aidl
│   │   │       │                   │   └── IOneToOneFileTransferListener.aidl
│   │   │       │                   ├── history/
│   │   │       │                   │   └── IHistoryService.aidl
│   │   │       │                   ├── sharing/
│   │   │       │                   │   ├── geoloc/
│   │   │       │                   │   │   ├── IGeolocSharing.aidl
│   │   │       │                   │   │   ├── IGeolocSharingListener.aidl
│   │   │       │                   │   │   └── IGeolocSharingService.aidl
│   │   │       │                   │   ├── image/
│   │   │       │                   │   │   ├── IImageSharing.aidl
│   │   │       │                   │   │   ├── IImageSharingListener.aidl
│   │   │       │                   │   │   ├── IImageSharingService.aidl
│   │   │       │                   │   │   └── IImageSharingServiceConfiguration.aidl
│   │   │       │                   │   └── video/
│   │   │       │                   │       ├── IVideoPlayer.aidl
│   │   │       │                   │       ├── IVideoSharing.aidl
│   │   │       │                   │       ├── IVideoSharingListener.aidl
│   │   │       │                   │       ├── IVideoSharingService.aidl
│   │   │       │                   │       ├── IVideoSharingServiceConfiguration.aidl
│   │   │       │                   │       ├── VideoCodec.aidl
│   │   │       │                   │       └── VideoDescriptor.aidl
│   │   │       │                   └── upload/
│   │   │       │                       ├── FileUploadInfo.aidl
│   │   │       │                       ├── IFileUpload.aidl
│   │   │       │                       ├── IFileUploadListener.aidl
│   │   │       │                       ├── IFileUploadService.aidl
│   │   │       │                       └── IFileUploadServiceConfiguration.aidl
│   │   │       └── java/
│   │   │           └── com/
│   │   │               └── gsma/
│   │   │                   └── services/
│   │   │                       └── rcs/
│   │   │                           ├── CommonServiceConfiguration.java
│   │   │                           ├── Geoloc.java
│   │   │                           ├── Intents.java
│   │   │                           ├── RcsGenericException.java
│   │   │                           ├── RcsIllegalArgumentException.java
│   │   │                           ├── RcsMaxAllowedSessionLimitReachedException.java
│   │   │                           ├── RcsPermissionDeniedException.java
│   │   │                           ├── RcsPersistentStorageException.java
│   │   │                           ├── RcsService.java
│   │   │                           ├── RcsServiceControl.java
│   │   │                           ├── RcsServiceException.java
│   │   │                           ├── RcsServiceListener.java
│   │   │                           ├── RcsServiceNotAvailableException.java
│   │   │                           ├── RcsServiceNotRegisteredException.java
│   │   │                           ├── RcsServiceRegistration.java
│   │   │                           ├── RcsServiceRegistrationListener.java
│   │   │                           ├── RcsServiceRegistrationListenerImpl.java
│   │   │                           ├── RcsUnsupportedOperationException.java
│   │   │                           ├── capability/
│   │   │                           │   ├── Capabilities.java
│   │   │                           │   ├── CapabilitiesListener.java
│   │   │                           │   ├── CapabilitiesListenerImpl.java
│   │   │                           │   ├── CapabilitiesLog.java
│   │   │                           │   ├── CapabilityService.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── chat/
│   │   │                           │   ├── ChatLog.java
│   │   │                           │   ├── ChatMessage.java
│   │   │                           │   ├── ChatService.java
│   │   │                           │   ├── ChatServiceConfiguration.java
│   │   │                           │   ├── GroupChat.java
│   │   │                           │   ├── GroupChatIntent.java
│   │   │                           │   ├── GroupChatListener.java
│   │   │                           │   ├── GroupChatListenerImpl.java
│   │   │                           │   ├── OneToOneChat.java
│   │   │                           │   ├── OneToOneChatIntent.java
│   │   │                           │   ├── OneToOneChatListener.java
│   │   │                           │   ├── OneToOneChatListenerImpl.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── contact/
│   │   │                           │   ├── ContactId.java
│   │   │                           │   ├── ContactProvider.java
│   │   │                           │   ├── ContactService.java
│   │   │                           │   ├── ContactUtil.java
│   │   │                           │   ├── RcsContact.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── extension/
│   │   │                           │   ├── InstantMultimediaMessageIntent.java
│   │   │                           │   ├── MultimediaMessagingSession.java
│   │   │                           │   ├── MultimediaMessagingSessionIntent.java
│   │   │                           │   ├── MultimediaMessagingSessionListener.java
│   │   │                           │   ├── MultimediaMessagingSessionListenerImpl.java
│   │   │                           │   ├── MultimediaSession.java
│   │   │                           │   ├── MultimediaSessionService.java
│   │   │                           │   ├── MultimediaSessionServiceConfiguration.java
│   │   │                           │   ├── MultimediaStreamingSession.java
│   │   │                           │   ├── MultimediaStreamingSessionIntent.java
│   │   │                           │   ├── MultimediaStreamingSessionListener.java
│   │   │                           │   ├── MultimediaStreamingSessionListenerImpl.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── filetransfer/
│   │   │                           │   ├── FileTransfer.java
│   │   │                           │   ├── FileTransferIntent.java
│   │   │                           │   ├── FileTransferLog.java
│   │   │                           │   ├── FileTransferService.java
│   │   │                           │   ├── FileTransferServiceConfiguration.java
│   │   │                           │   ├── GroupFileTransferListener.java
│   │   │                           │   ├── GroupFileTransferListenerImpl.java
│   │   │                           │   ├── OneToOneFileTransferListener.java
│   │   │                           │   ├── OneToOneFileTransferListenerImpl.java
│   │   │                           │   └── package-info.java
│   │   │                           ├── groupdelivery/
│   │   │                           │   ├── GroupDeliveryInfo.java
│   │   │                           │   └── GroupDeliveryInfoLog.java
│   │   │                           ├── history/
│   │   │                           │   ├── HistoryLog.java
│   │   │                           │   ├── HistoryService.java
│   │   │                           │   └── HistoryUriBuilder.java
│   │   │                           ├── package-info.java
│   │   │                           ├── sharing/
│   │   │                           │   ├── geoloc/
│   │   │                           │   │   ├── GeolocSharing.java
│   │   │                           │   │   ├── GeolocSharingIntent.java
│   │   │                           │   │   ├── GeolocSharingListener.java
│   │   │                           │   │   ├── GeolocSharingListenerImpl.java
│   │   │                           │   │   ├── GeolocSharingLog.java
│   │   │                           │   │   ├── GeolocSharingService.java
│   │   │                           │   │   └── package-info.java
│   │   │                           │   ├── image/
│   │   │                           │   │   ├── ImageSharing.java
│   │   │                           │   │   ├── ImageSharingIntent.java
│   │   │                           │   │   ├── ImageSharingListener.java
│   │   │                           │   │   ├── ImageSharingListenerImpl.java
│   │   │                           │   │   ├── ImageSharingLog.java
│   │   │                           │   │   ├── ImageSharingService.java
│   │   │                           │   │   ├── ImageSharingServiceConfiguration.java
│   │   │                           │   │   └── package-info.java
│   │   │                           │   └── video/
│   │   │                           │       ├── VideoCodec.java
│   │   │                           │       ├── VideoDescriptor.java
│   │   │                           │       ├── VideoPlayer.java
│   │   │                           │       ├── VideoPlayerImpl.java
│   │   │                           │       ├── VideoSharing.java
│   │   │                           │       ├── VideoSharingIntent.java
│   │   │                           │       ├── VideoSharingListener.java
│   │   │                           │       ├── VideoSharingListenerImpl.java
│   │   │                           │       ├── VideoSharingLog.java
│   │   │                           │       ├── VideoSharingService.java
│   │   │                           │       ├── VideoSharingServiceConfiguration.java
│   │   │                           │       └── package-info.java
│   │   │                           └── upload/
│   │   │                               ├── FileUpload.java
│   │   │                               ├── FileUploadInfo.java
│   │   │                               ├── FileUploadListener.java
│   │   │                               ├── FileUploadListenerImpl.java
│   │   │                               ├── FileUploadService.java
│   │   │                               ├── FileUploadServiceConfiguration.java
│   │   │                               └── package-info.java
│   │   └── version/
│   │       ├── blackbird_1_5_1.xml
│   │       └── crane_1_6_1.xml
│   ├── api_cnx/
│   │   ├── .gitignore
│   │   ├── build.gradle
│   │   └── src/
│   │       └── main/
│   │           ├── AndroidManifest.xml
│   │           ├── java/
│   │           │   └── com/
│   │           │       └── gsma/
│   │           │           └── rcs/
│   │           │               └── api/
│   │           │                   └── connection/
│   │           │                       ├── ConnectionManager.java
│   │           │                       ├── IRcsActivityFinishable.java
│   │           │                       └── utils/
│   │           │                           ├── DialogUtil.java
│   │           │                           ├── ExceptionUtil.java
│   │           │                           ├── IConnectionManager.java
│   │           │                           ├── IRcsDialog.java
│   │           │                           ├── LockAccess.java
│   │           │                           ├── LogUtils.java
│   │           │                           ├── RcsActivity.java
│   │           │                           ├── RcsFragmentActivity.java
│   │           │                           ├── RcsListActivity.java
│   │           │                           ├── RcsPreferenceActivity.java
│   │           │                           └── TimerUtils.java
│   │           └── res/
│   │               └── values/
│   │                   └── strings.xml
│   ├── bouncycastle/
│   │   ├── AndroidManifestLibrary.xml
│   │   ├── build.gradle
│   │   └── src/
│   │       └── local/
│   │           └── org/
│   │               └── bouncycastle/
│   │                   ├── asn1/
│   │                   │   ├── ASN1ApplicationSpecificParser.java
│   │                   │   ├── ASN1Boolean.java
│   │                   │   ├── ASN1Choice.java
│   │                   │   ├── ASN1Encodable.java
│   │                   │   ├── ASN1EncodableVector.java
│   │                   │   ├── ASN1Encoding.java
│   │                   │   ├── ASN1Enumerated.java
│   │                   │   ├── ASN1Exception.java
│   │                   │   ├── ASN1GeneralizedTime.java
│   │                   │   ├── ASN1Generator.java
│   │                   │   ├── ASN1InputStream.java
│   │                   │   ├── ASN1Integer.java
│   │                   │   ├── ASN1Null.java
│   │                   │   ├── ASN1Object.java
│   │                   │   ├── ASN1ObjectIdentifier.java
│   │                   │   ├── ASN1OctetString.java
│   │                   │   ├── ASN1OctetStringParser.java
│   │                   │   ├── ASN1OutputStream.java
│   │                   │   ├── ASN1ParsingException.java
│   │                   │   ├── ASN1Primitive.java
│   │                   │   ├── ASN1Sequence.java
│   │                   │   ├── ASN1SequenceParser.java
│   │                   │   ├── ASN1Set.java
│   │                   │   ├── ASN1SetParser.java
│   │                   │   ├── ASN1StreamParser.java
│   │                   │   ├── ASN1String.java
│   │                   │   ├── ASN1TaggedObject.java
│   │                   │   ├── ASN1TaggedObjectParser.java
│   │                   │   ├── ASN1UTCTime.java
│   │                   │   ├── BERApplicationSpecific.java
│   │                   │   ├── BERApplicationSpecificParser.java
│   │                   │   ├── BERConstructedOctetString.java
│   │                   │   ├── BERFactory.java
│   │                   │   ├── BERGenerator.java
│   │                   │   ├── BEROctetString.java
│   │                   │   ├── BEROctetStringGenerator.java
│   │                   │   ├── BEROctetStringParser.java
│   │                   │   ├── BEROutputStream.java
│   │                   │   ├── BERSequence.java
│   │                   │   ├── BERSequenceGenerator.java
│   │                   │   ├── BERSequenceParser.java
│   │                   │   ├── BERSet.java
│   │                   │   ├── BERSetParser.java
│   │                   │   ├── BERTaggedObject.java
│   │                   │   ├── BERTaggedObjectParser.java
│   │                   │   ├── BERTags.java
│   │                   │   ├── ConstructedOctetStream.java
│   │                   │   ├── DERApplicationSpecific.java
│   │                   │   ├── DERBMPString.java
│   │                   │   ├── DERBitString.java
│   │                   │   ├── DERBoolean.java
│   │                   │   ├── DEREncodableVector.java
│   │                   │   ├── DEREnumerated.java
│   │                   │   ├── DERExternal.java
│   │                   │   ├── DERExternalParser.java
│   │                   │   ├── DERFactory.java
│   │                   │   ├── DERGeneralString.java
│   │                   │   ├── DERGeneralizedTime.java
│   │                   │   ├── DERGenerator.java
│   │                   │   ├── DERIA5String.java
│   │                   │   ├── DERInteger.java
│   │                   │   ├── DERNull.java
│   │                   │   ├── DERNumericString.java
│   │                   │   ├── DERObjectIdentifier.java
│   │                   │   ├── DEROctetString.java
│   │                   │   ├── DEROctetStringParser.java
│   │                   │   ├── DEROutputStream.java
│   │                   │   ├── DERPrintableString.java
│   │                   │   ├── DERSequence.java
│   │                   │   ├── DERSequenceGenerator.java
│   │                   │   ├── DERSequenceParser.java
│   │                   │   ├── DERSet.java
│   │                   │   ├── DERSetParser.java
│   │                   │   ├── DERT61String.java
│   │                   │   ├── DERT61UTF8String.java
│   │                   │   ├── DERTaggedObject.java
│   │                   │   ├── DERTags.java
│   │                   │   ├── DERUTCTime.java
│   │                   │   ├── DERUTF8String.java
│   │                   │   ├── DERUniversalString.java
│   │                   │   ├── DERVisibleString.java
│   │                   │   ├── DLOutputStream.java
│   │                   │   ├── DLSequence.java
│   │                   │   ├── DLSet.java
│   │                   │   ├── DLTaggedObject.java
│   │                   │   ├── DefiniteLengthInputStream.java
│   │                   │   ├── InMemoryRepresentable.java
│   │                   │   ├── IndefiniteLengthInputStream.java
│   │                   │   ├── LazyConstructionEnumeration.java
│   │                   │   ├── LazyEncodedSequence.java
│   │                   │   ├── LimitedInputStream.java
│   │                   │   ├── OIDTokenizer.java
│   │                   │   ├── StreamUtil.java
│   │                   │   ├── cryptopro/
│   │                   │   │   ├── CryptoProObjectIdentifiers.java
│   │                   │   │   └── ECGOST3410NamedCurves.java
│   │                   │   ├── kisa/
│   │                   │   │   └── KISAObjectIdentifiers.java
│   │                   │   ├── nist/
│   │                   │   │   ├── NISTNamedCurves.java
│   │                   │   │   └── NISTObjectIdentifiers.java
│   │                   │   ├── ntt/
│   │                   │   │   └── NTTObjectIdentifiers.java
│   │                   │   ├── oiw/
│   │                   │   │   └── OIWObjectIdentifiers.java
│   │                   │   ├── pkcs/
│   │                   │   │   ├── PKCSObjectIdentifiers.java
│   │                   │   │   ├── PrivateKeyInfo.java
│   │                   │   │   └── RSASSAPSSparams.java
│   │                   │   ├── sec/
│   │                   │   │   ├── SECNamedCurves.java
│   │                   │   │   └── SECObjectIdentifiers.java
│   │                   │   ├── teletrust/
│   │                   │   │   ├── TeleTrusTNamedCurves.java
│   │                   │   │   └── TeleTrusTObjectIdentifiers.java
│   │                   │   ├── x500/
│   │                   │   │   ├── AttributeTypeAndValue.java
│   │                   │   │   ├── RDN.java
│   │                   │   │   ├── X500Name.java
│   │                   │   │   ├── X500NameBuilder.java
│   │                   │   │   ├── X500NameStyle.java
│   │                   │   │   └── style/
│   │                   │   │       ├── BCStyle.java
│   │                   │   │       ├── IETFUtils.java
│   │                   │   │       └── X500NameTokenizer.java
│   │                   │   ├── x509/
│   │                   │   │   ├── AlgorithmIdentifier.java
│   │                   │   │   ├── AttCertIssuer.java
│   │                   │   │   ├── AttCertValidityPeriod.java
│   │                   │   │   ├── Attribute.java
│   │                   │   │   ├── AttributeCertificate.java
│   │                   │   │   ├── AttributeCertificateInfo.java
│   │                   │   │   ├── AuthorityKeyIdentifier.java
│   │                   │   │   ├── BasicConstraints.java
│   │                   │   │   ├── Certificate.java
│   │                   │   │   ├── CertificateList.java
│   │                   │   │   ├── DistributionPointName.java
│   │                   │   │   ├── ExtendedKeyUsage.java
│   │                   │   │   ├── Extension.java
│   │                   │   │   ├── Extensions.java
│   │                   │   │   ├── ExtensionsGenerator.java
│   │                   │   │   ├── GeneralName.java
│   │                   │   │   ├── GeneralNames.java
│   │                   │   │   ├── Holder.java
│   │                   │   │   ├── IssuerSerial.java
│   │                   │   │   ├── IssuingDistributionPoint.java
│   │                   │   │   ├── KeyPurposeId.java
│   │                   │   │   ├── KeyUsage.java
│   │                   │   │   ├── ObjectDigestInfo.java
│   │                   │   │   ├── ReasonFlags.java
│   │                   │   │   ├── SubjectKeyIdentifier.java
│   │                   │   │   ├── SubjectPublicKeyInfo.java
│   │                   │   │   ├── TBSCertList.java
│   │                   │   │   ├── TBSCertificate.java
│   │                   │   │   ├── Time.java
│   │                   │   │   ├── V2Form.java
│   │                   │   │   ├── V3TBSCertificateGenerator.java
│   │                   │   │   ├── X509DefaultEntryConverter.java
│   │                   │   │   ├── X509Extension.java
│   │                   │   │   ├── X509Extensions.java
│   │                   │   │   ├── X509Name.java
│   │                   │   │   ├── X509NameEntryConverter.java
│   │                   │   │   ├── X509NameTokenizer.java
│   │                   │   │   └── X509ObjectIdentifiers.java
│   │                   │   └── x9/
│   │                   │       ├── X962NamedCurves.java
│   │                   │       ├── X962Parameters.java
│   │                   │       ├── X9Curve.java
│   │                   │       ├── X9ECParameters.java
│   │                   │       ├── X9ECParametersHolder.java
│   │                   │       ├── X9ECPoint.java
│   │                   │       ├── X9FieldElement.java
│   │                   │       ├── X9FieldID.java
│   │                   │       ├── X9IntegerConverter.java
│   │                   │       └── X9ObjectIdentifiers.java
│   │                   ├── cert/
│   │                   │   ├── AttributeCertificateHolder.java
│   │                   │   ├── AttributeCertificateIssuer.java
│   │                   │   ├── CertException.java
│   │                   │   ├── CertIOException.java
│   │                   │   ├── CertRuntimeException.java
│   │                   │   ├── CertUtils.java
│   │                   │   ├── X509AttributeCertificateHolder.java
│   │                   │   ├── X509CRLEntryHolder.java
│   │                   │   ├── X509CRLHolder.java
│   │                   │   ├── X509CertificateHolder.java
│   │                   │   ├── X509ExtensionUtils.java
│   │                   │   ├── X509v3CertificateBuilder.java
│   │                   │   └── jcajce/
│   │                   │       ├── CertHelper.java
│   │                   │       ├── DefaultCertHelper.java
│   │                   │       ├── JcaX509CertificateConverter.java
│   │                   │       ├── JcaX509CertificateHolder.java
│   │                   │       ├── JcaX509ExtensionUtils.java
│   │                   │       ├── JcaX509v3CertificateBuilder.java
│   │                   │       ├── NamedCertHelper.java
│   │                   │       └── ProviderCertHelper.java
│   │                   ├── crypto/
│   │                   │   ├── CipherParameters.java
│   │                   │   ├── Digest.java
│   │                   │   ├── ExtendedDigest.java
│   │                   │   ├── digests/
│   │                   │   │   ├── GeneralDigest.java
│   │                   │   │   └── SHA1Digest.java
│   │                   │   ├── params/
│   │                   │   │   ├── AsymmetricKeyParameter.java
│   │                   │   │   ├── ECDomainParameters.java
│   │                   │   │   ├── ECKeyParameters.java
│   │                   │   │   ├── ECPrivateKeyParameters.java
│   │                   │   │   └── ECPublicKeyParameters.java
│   │                   │   └── util/
│   │                   │       └── Pack.java
│   │                   ├── math/
│   │                   │   └── ec/
│   │                   │       ├── ECConstants.java
│   │                   │       ├── ECCurve.java
│   │                   │       ├── ECFieldElement.java
│   │                   │       ├── ECMultiplier.java
│   │                   │       ├── ECPoint.java
│   │                   │       ├── FpNafMultiplier.java
│   │                   │       ├── IntArray.java
│   │                   │       ├── PreCompInfo.java
│   │                   │       ├── SimpleBigDecimal.java
│   │                   │       ├── Tnaf.java
│   │                   │       ├── WNafMultiplier.java
│   │                   │       ├── WNafPreCompInfo.java
│   │                   │       ├── WTauNafMultiplier.java
│   │                   │       ├── WTauNafPreCompInfo.java
│   │                   │       └── ZTauElement.java
│   │                   ├── operator/
│   │                   │   ├── ContentSigner.java
│   │                   │   ├── ContentVerifier.java
│   │                   │   ├── ContentVerifierProvider.java
│   │                   │   ├── DefaultSignatureAlgorithmIdentifierFinder.java
│   │                   │   ├── DigestCalculator.java
│   │                   │   ├── DigestCalculatorProvider.java
│   │                   │   ├── OperatorCreationException.java
│   │                   │   ├── OperatorException.java
│   │                   │   ├── OperatorStreamException.java
│   │                   │   ├── RuntimeOperatorException.java
│   │                   │   └── SignatureAlgorithmIdentifierFinder.java
│   │                   └── util/
│   │                       ├── Arrays.java
│   │                       ├── IPAddress.java
│   │                       ├── Memoable.java
│   │                       ├── Selector.java
│   │                       ├── Strings.java
│   │                       ├── encoders/
│   │                       │   ├── DecoderException.java
│   │                       │   ├── Encoder.java
│   │                       │   ├── EncoderException.java
│   │                       │   ├── Hex.java
│   │                       │   └── HexEncoder.java
│   │                       └── io/
│   │                           ├── StreamOverflowException.java
│   │                           └── Streams.java
│   └── nist_sip/
│       ├── AndroidManifestLibrary.xml
│       ├── build.gradle
│       └── src/
│           ├── gov2/
│           │   └── nist/
│           │       ├── core/
│           │       │   ├── Debug.java
│           │       │   ├── DuplicateNameValueList.java
│           │       │   ├── GenericObject.java
│           │       │   ├── GenericObjectList.java
│           │       │   ├── Host.java
│           │       │   ├── HostNameParser.java
│           │       │   ├── HostPort.java
│           │       │   ├── InternalErrorHandler.java
│           │       │   ├── LexerCore.java
│           │       │   ├── LogLevels.java
│           │       │   ├── LogWriter.java
│           │       │   ├── Match.java
│           │       │   ├── MultiValueMap.java
│           │       │   ├── MultiValueMapImpl.java
│           │       │   ├── NameValue.java
│           │       │   ├── NameValueList.java
│           │       │   ├── PackageNames.java
│           │       │   ├── ParserCore.java
│           │       │   ├── Separators.java
│           │       │   ├── ServerLogger.java
│           │       │   ├── StackLogger.java
│           │       │   ├── StringTokenizer.java
│           │       │   ├── ThreadAuditor.java
│           │       │   ├── Token.java
│           │       │   └── net/
│           │       │       ├── AddressResolver.java
│           │       │       ├── DefaultNetworkLayer.java
│           │       │       ├── NetworkLayer.java
│           │       │       └── SslNetworkLayer.java
│           │       └── javax2/
│           │           └── sip/
│           │               ├── ClientTransactionExt.java
│           │               ├── DefaultAddressResolver.java
│           │               ├── DialogExt.java
│           │               ├── DialogFilter.java
│           │               ├── DialogTimeoutEvent.java
│           │               ├── EventScanner.java
│           │               ├── EventWrapper.java
│           │               ├── ListeningPointExt.java
│           │               ├── ListeningPointImpl.java
│           │               ├── LogRecord.java
│           │               ├── LogRecordFactory.java
│           │               ├── NistSipMessageFactoryImpl.java
│           │               ├── ResponseEventExt.java
│           │               ├── SIPConstants.java
│           │               ├── ServerTransactionExt.java
│           │               ├── SipListenerExt.java
│           │               ├── SipProviderExt.java
│           │               ├── SipProviderImpl.java
│           │               ├── SipStackExt.java
│           │               ├── SipStackImpl.java
│           │               ├── TransactionExt.java
│           │               ├── Utils.java
│           │               ├── UtilsExt.java
│           │               ├── address/
│           │               │   ├── AddressFactoryImpl.java
│           │               │   ├── AddressImpl.java
│           │               │   ├── Authority.java
│           │               │   ├── GenericURI.java
│           │               │   ├── NetObject.java
│           │               │   ├── NetObjectList.java
│           │               │   ├── ParameterNames.java
│           │               │   ├── RFC2396UrlDecoder.java
│           │               │   ├── RouterExt.java
│           │               │   ├── SipURIExt.java
│           │               │   ├── SipUri.java
│           │               │   ├── TelURLImpl.java
│           │               │   ├── TelephoneNumber.java
│           │               │   └── UserInfo.java
│           │               ├── clientauthutils/
│           │               │   ├── AccountManager.java
│           │               │   ├── AuthenticationHelper.java
│           │               │   ├── AuthenticationHelperImpl.java
│           │               │   ├── CredentialsCache.java
│           │               │   ├── MessageDigestAlgorithm.java
│           │               │   ├── SecureAccountManager.java
│           │               │   ├── UserCredentialHash.java
│           │               │   └── UserCredentials.java
│           │               ├── header/
│           │               │   ├── Accept.java
│           │               │   ├── AcceptEncoding.java
│           │               │   ├── AcceptEncodingList.java
│           │               │   ├── AcceptLanguage.java
│           │               │   ├── AcceptLanguageList.java
│           │               │   ├── AcceptList.java
│           │               │   ├── AddressParameters.java
│           │               │   ├── AddressParametersHeader.java
│           │               │   ├── AlertInfo.java
│           │               │   ├── AlertInfoList.java
│           │               │   ├── Allow.java
│           │               │   ├── AllowEvents.java
│           │               │   ├── AllowEventsList.java
│           │               │   ├── AllowList.java
│           │               │   ├── AuthenticationHeader.java
│           │               │   ├── AuthenticationInfo.java
│           │               │   ├── AuthenticationInfoList.java
│           │               │   ├── Authorization.java
│           │               │   ├── AuthorizationList.java
│           │               │   ├── CSeq.java
│           │               │   ├── CallID.java
│           │               │   ├── CallIdentifier.java
│           │               │   ├── CallInfo.java
│           │               │   ├── CallInfoList.java
│           │               │   ├── Challenge.java
│           │               │   ├── Contact.java
│           │               │   ├── ContactList.java
│           │               │   ├── ContentDisposition.java
│           │               │   ├── ContentEncoding.java
│           │               │   ├── ContentEncodingList.java
│           │               │   ├── ContentLanguage.java
│           │               │   ├── ContentLanguageList.java
│           │               │   ├── ContentLength.java
│           │               │   ├── ContentType.java
│           │               │   ├── Credentials.java
│           │               │   ├── ErrorInfo.java
│           │               │   ├── ErrorInfoList.java
│           │               │   ├── Event.java
│           │               │   ├── Expires.java
│           │               │   ├── ExtensionHeaderImpl.java
│           │               │   ├── ExtensionHeaderList.java
│           │               │   ├── From.java
│           │               │   ├── HeaderExt.java
│           │               │   ├── HeaderFactoryExt.java
│           │               │   ├── HeaderFactoryImpl.java
│           │               │   ├── InReplyTo.java
│           │               │   ├── InReplyToList.java
│           │               │   ├── Indentation.java
│           │               │   ├── MaxForwards.java
│           │               │   ├── MediaRange.java
│           │               │   ├── MimeVersion.java
│           │               │   ├── MinExpires.java
│           │               │   ├── NameMap.java
│           │               │   ├── Organization.java
│           │               │   ├── ParameterNames.java
│           │               │   ├── ParametersHeader.java
│           │               │   ├── Priority.java
│           │               │   ├── Protocol.java
│           │               │   ├── ProxyAuthenticate.java
│           │               │   ├── ProxyAuthenticateList.java
│           │               │   ├── ProxyAuthorization.java
│           │               │   ├── ProxyAuthorizationList.java
│           │               │   ├── ProxyRequire.java
│           │               │   ├── ProxyRequireList.java
│           │               │   ├── RAck.java
│           │               │   ├── RSeq.java
│           │               │   ├── Reason.java
│           │               │   ├── ReasonList.java
│           │               │   ├── RecordRoute.java
│           │               │   ├── RecordRouteList.java
│           │               │   ├── ReferTo.java
│           │               │   ├── ReplyTo.java
│           │               │   ├── RequestLine.java
│           │               │   ├── Require.java
│           │               │   ├── RequireList.java
│           │               │   ├── RetryAfter.java
│           │               │   ├── Route.java
│           │               │   ├── RouteList.java
│           │               │   ├── SIPDate.java
│           │               │   ├── SIPDateHeader.java
│           │               │   ├── SIPETag.java
│           │               │   ├── SIPHeader.java
│           │               │   ├── SIPHeaderList.java
│           │               │   ├── SIPHeaderNames.java
│           │               │   ├── SIPHeaderNamesCache.java
│           │               │   ├── SIPIfMatch.java
│           │               │   ├── SIPObject.java
│           │               │   ├── SIPObjectList.java
│           │               │   ├── Server.java
│           │               │   ├── SipRequestLine.java
│           │               │   ├── SipStatusLine.java
│           │               │   ├── StatusLine.java
│           │               │   ├── Subject.java
│           │               │   ├── SubscriptionState.java
│           │               │   ├── Supported.java
│           │               │   ├── SupportedList.java
│           │               │   ├── TimeStamp.java
│           │               │   ├── To.java
│           │               │   ├── Unsupported.java
│           │               │   ├── UnsupportedList.java
│           │               │   ├── UserAgent.java
│           │               │   ├── Via.java
│           │               │   ├── ViaHeaderExt.java
│           │               │   ├── ViaList.java
│           │               │   ├── WWWAuthenticate.java
│           │               │   ├── WWWAuthenticateList.java
│           │               │   ├── Warning.java
│           │               │   ├── WarningList.java
│           │               │   ├── extensions/
│           │               │   │   ├── Join.java
│           │               │   │   ├── JoinHeader.java
│           │               │   │   ├── MinSE.java
│           │               │   │   ├── MinSEHeader.java
│           │               │   │   ├── References.java
│           │               │   │   ├── ReferencesHeader.java
│           │               │   │   ├── ReferredBy.java
│           │               │   │   ├── ReferredByHeader.java
│           │               │   │   ├── Replaces.java
│           │               │   │   ├── ReplacesHeader.java
│           │               │   │   ├── SessionExpires.java
│           │               │   │   └── SessionExpiresHeader.java
│           │               │   └── ims/
│           │               │       ├── AddressHeaderIms.java
│           │               │       ├── AuthorizationHeaderIms.java
│           │               │       ├── PAccessNetworkInfo.java
│           │               │       ├── PAccessNetworkInfoHeader.java
│           │               │       ├── PAssertedIdentity.java
│           │               │       ├── PAssertedIdentityHeader.java
│           │               │       ├── PAssertedIdentityList.java
│           │               │       ├── PAssertedService.java
│           │               │       ├── PAssertedServiceHeader.java
│           │               │       ├── PAssociatedURI.java
│           │               │       ├── PAssociatedURIHeader.java
│           │               │       ├── PAssociatedURIList.java
│           │               │       ├── PCalledPartyID.java
│           │               │       ├── PCalledPartyIDHeader.java
│           │               │       ├── PChargingFunctionAddresses.java
│           │               │       ├── PChargingFunctionAddressesHeader.java
│           │               │       ├── PChargingVector.java
│           │               │       ├── PChargingVectorHeader.java
│           │               │       ├── PMediaAuthorization.java
│           │               │       ├── PMediaAuthorizationHeader.java
│           │               │       ├── PMediaAuthorizationList.java
│           │               │       ├── PPreferredIdentity.java
│           │               │       ├── PPreferredIdentityHeader.java
│           │               │       ├── PPreferredService.java
│           │               │       ├── PPreferredServiceHeader.java
│           │               │       ├── PProfileKey.java
│           │               │       ├── PProfileKeyHeader.java
│           │               │       ├── PServedUser.java
│           │               │       ├── PServedUserHeader.java
│           │               │       ├── PUserDatabase.java
│           │               │       ├── PUserDatabaseHeader.java
│           │               │       ├── PVisitedNetworkID.java
│           │               │       ├── PVisitedNetworkIDHeader.java
│           │               │       ├── PVisitedNetworkIDList.java
│           │               │       ├── ParameterNamesIms.java
│           │               │       ├── Path.java
│           │               │       ├── PathHeader.java
│           │               │       ├── PathList.java
│           │               │       ├── Privacy.java
│           │               │       ├── PrivacyHeader.java
│           │               │       ├── PrivacyList.java
│           │               │       ├── SIPHeaderNamesIms.java
│           │               │       ├── SecurityAgree.java
│           │               │       ├── SecurityAgreeHeader.java
│           │               │       ├── SecurityClient.java
│           │               │       ├── SecurityClientHeader.java
│           │               │       ├── SecurityClientList.java
│           │               │       ├── SecurityServer.java
│           │               │       ├── SecurityServerHeader.java
│           │               │       ├── SecurityServerList.java
│           │               │       ├── SecurityVerify.java
│           │               │       ├── SecurityVerifyHeader.java
│           │               │       ├── SecurityVerifyList.java
│           │               │       ├── ServiceRoute.java
│           │               │       ├── ServiceRouteHeader.java
│           │               │       ├── ServiceRouteList.java
│           │               │       └── WWWAuthenticateHeaderIms.java
│           │               ├── message/
│           │               │   ├── Content.java
│           │               │   ├── ContentImpl.java
│           │               │   ├── HeaderIterator.java
│           │               │   ├── ListMap.java
│           │               │   ├── MessageExt.java
│           │               │   ├── MessageFactoryExt.java
│           │               │   ├── MessageFactoryImpl.java
│           │               │   ├── MessageObject.java
│           │               │   ├── MultipartMimeContent.java
│           │               │   ├── MultipartMimeContentImpl.java
│           │               │   ├── RequestExt.java
│           │               │   ├── ResponseExt.java
│           │               │   ├── SIPDuplicateHeaderException.java
│           │               │   ├── SIPMessage.java
│           │               │   ├── SIPRequest.java
│           │               │   └── SIPResponse.java
│           │               ├── parser/
│           │               │   ├── AcceptEncodingParser.java
│           │               │   ├── AcceptLanguageParser.java
│           │               │   ├── AcceptParser.java
│           │               │   ├── AddressParametersParser.java
│           │               │   ├── AddressParser.java
│           │               │   ├── AlertInfoParser.java
│           │               │   ├── AllowEventsParser.java
│           │               │   ├── AllowParser.java
│           │               │   ├── AuthenticationInfoParser.java
│           │               │   ├── AuthorizationParser.java
│           │               │   ├── CSeqParser.java
│           │               │   ├── CallIDParser.java
│           │               │   ├── CallInfoParser.java
│           │               │   ├── ChallengeParser.java
│           │               │   ├── ContactParser.java
│           │               │   ├── ContentDispositionParser.java
│           │               │   ├── ContentEncodingParser.java
│           │               │   ├── ContentLanguageParser.java
│           │               │   ├── ContentLengthParser.java
│           │               │   ├── ContentTypeParser.java
│           │               │   ├── DateParser.java
│           │               │   ├── ErrorInfoParser.java
│           │               │   ├── EventParser.java
│           │               │   ├── ExpiresParser.java
│           │               │   ├── FromParser.java
│           │               │   ├── HeaderParser.java
│           │               │   ├── InReplyToParser.java
│           │               │   ├── Lexer.java
│           │               │   ├── MaxForwardsParser.java
│           │               │   ├── MimeVersionParser.java
│           │               │   ├── MinExpiresParser.java
│           │               │   ├── OrganizationParser.java
│           │               │   ├── ParametersParser.java
│           │               │   ├── ParseExceptionListener.java
│           │               │   ├── Parser.java
│           │               │   ├── ParserFactory.java
│           │               │   ├── Pipeline.java
│           │               │   ├── PipelinedMsgParser.java
│           │               │   ├── PriorityParser.java
│           │               │   ├── ProxyAuthenticateParser.java
│           │               │   ├── ProxyAuthorizationParser.java
│           │               │   ├── ProxyRequireParser.java
│           │               │   ├── RAckParser.java
│           │               │   ├── RSeqParser.java
│           │               │   ├── ReasonParser.java
│           │               │   ├── RecordRouteParser.java
│           │               │   ├── ReferToParser.java
│           │               │   ├── ReplyToParser.java
│           │               │   ├── RequestLineParser.java
│           │               │   ├── RequireParser.java
│           │               │   ├── RetryAfterParser.java
│           │               │   ├── RouteParser.java
│           │               │   ├── SIPETagParser.java
│           │               │   ├── SIPIfMatchParser.java
│           │               │   ├── SIPMessageListener.java
│           │               │   ├── ServerParser.java
│           │               │   ├── StatusLineParser.java
│           │               │   ├── StringMsgParser.java
│           │               │   ├── SubjectParser.java
│           │               │   ├── SubscriptionStateParser.java
│           │               │   ├── SupportedParser.java
│           │               │   ├── TimeStampParser.java
│           │               │   ├── ToParser.java
│           │               │   ├── TokenNames.java
│           │               │   ├── TokenTypes.java
│           │               │   ├── URLParser.java
│           │               │   ├── UnsupportedParser.java
│           │               │   ├── UserAgentParser.java
│           │               │   ├── ViaParser.java
│           │               │   ├── WWWAuthenticateParser.java
│           │               │   ├── WarningParser.java
│           │               │   ├── extensions/
│           │               │   │   ├── JoinParser.java
│           │               │   │   ├── MinSEParser.java
│           │               │   │   ├── ReferencesParser.java
│           │               │   │   ├── ReferredByParser.java
│           │               │   │   ├── ReplacesParser.java
│           │               │   │   └── SessionExpiresParser.java
│           │               │   └── ims/
│           │               │       ├── AddressHeaderParser.java
│           │               │       ├── PAccessNetworkInfoParser.java
│           │               │       ├── PAssertedIdentityParser.java
│           │               │       ├── PAssertedServiceParser.java
│           │               │       ├── PAssociatedURIParser.java
│           │               │       ├── PCalledPartyIDParser.java
│           │               │       ├── PChargingFunctionAddressesParser.java
│           │               │       ├── PChargingVectorParser.java
│           │               │       ├── PMediaAuthorizationParser.java
│           │               │       ├── PPreferredIdentityParser.java
│           │               │       ├── PPreferredServiceParser.java
│           │               │       ├── PProfileKeyParser.java
│           │               │       ├── PServedUserParser.java
│           │               │       ├── PUserDatabaseParser.java
│           │               │       ├── PVisitedNetworkIDParser.java
│           │               │       ├── PathParser.java
│           │               │       ├── PrivacyParser.java
│           │               │       ├── SecurityAgreeParser.java
│           │               │       ├── SecurityClientParser.java
│           │               │       ├── SecurityServerParser.java
│           │               │       ├── SecurityVerifyParser.java
│           │               │       ├── ServiceRouteParser.java
│           │               │       └── TokenNamesIms.java
│           │               └── stack/
│           │                   ├── DefaultMessageLogFactory.java
│           │                   ├── DefaultRouter.java
│           │                   ├── HandshakeCompletedListenerImpl.java
│           │                   ├── HopImpl.java
│           │                   ├── IOHandler.java
│           │                   ├── MessageChannel.java
│           │                   ├── MessageLog.java
│           │                   ├── MessageProcessor.java
│           │                   ├── RawMessageChannel.java
│           │                   ├── SIPClientTransaction.java
│           │                   ├── SIPDialog.java
│           │                   ├── SIPDialogErrorEvent.java
│           │                   ├── SIPDialogEventListener.java
│           │                   ├── SIPServerTransaction.java
│           │                   ├── SIPStackTimerTask.java
│           │                   ├── SIPTransaction.java
│           │                   ├── SIPTransactionErrorEvent.java
│           │                   ├── SIPTransactionEventListener.java
│           │                   ├── SIPTransactionStack.java
│           │                   ├── ServerLog.java
│           │                   ├── ServerRequestInterface.java
│           │                   ├── ServerResponseInterface.java
│           │                   ├── StackMessageFactory.java
│           │                   ├── TCPMessageChannel.java
│           │                   ├── TCPMessageProcessor.java
│           │                   ├── TLSMessageChannel.java
│           │                   ├── TLSMessageProcessor.java
│           │                   ├── UDPMessageChannel.java
│           │                   └── UDPMessageProcessor.java
│           └── javax2/
│               └── sip/
│                   ├── ClientTransaction.java
│                   ├── Dialog.java
│                   ├── DialogDoesNotExistException.java
│                   ├── DialogState.java
│                   ├── DialogTerminatedEvent.java
│                   ├── IOExceptionEvent.java
│                   ├── InvalidArgumentException.java
│                   ├── ListeningPoint.java
│                   ├── ObjectInUseException.java
│                   ├── PeerUnavailableException.java
│                   ├── ProviderDoesNotExistException.java
│                   ├── RequestEvent.java
│                   ├── ResponseEvent.java
│                   ├── ServerTransaction.java
│                   ├── SipException.java
│                   ├── SipFactory.java
│                   ├── SipListener.java
│                   ├── SipProvider.java
│                   ├── SipStack.java
│                   ├── Timeout.java
│                   ├── TimeoutEvent.java
│                   ├── Transaction.java
│                   ├── TransactionAlreadyExistsException.java
│                   ├── TransactionDoesNotExistException.java
│                   ├── TransactionState.java
│                   ├── TransactionTerminatedEvent.java
│                   ├── TransactionUnavailableException.java
│                   ├── TransportNotSupportedException.java
│                   ├── address/
│                   │   ├── Address.java
│                   │   ├── AddressFactory.java
│                   │   ├── Hop.java
│                   │   ├── Router.java
│                   │   ├── SipURI.java
│                   │   ├── TelURL.java
│                   │   └── URI.java
│                   ├── header/
│                   │   ├── AcceptEncodingHeader.java
│                   │   ├── AcceptHeader.java
│                   │   ├── AcceptLanguageHeader.java
│                   │   ├── AlertInfoHeader.java
│                   │   ├── AllowEventsHeader.java
│                   │   ├── AllowHeader.java
│                   │   ├── AuthenticationInfoHeader.java
│                   │   ├── AuthorizationHeader.java
│                   │   ├── CSeqHeader.java
│                   │   ├── CallIdHeader.java
│                   │   ├── CallInfoHeader.java
│                   │   ├── ContactHeader.java
│                   │   ├── ContentDispositionHeader.java
│                   │   ├── ContentEncodingHeader.java
│                   │   ├── ContentLanguageHeader.java
│                   │   ├── ContentLengthHeader.java
│                   │   ├── ContentTypeHeader.java
│                   │   ├── DateHeader.java
│                   │   ├── Encoding.java
│                   │   ├── ErrorInfoHeader.java
│                   │   ├── EventHeader.java
│                   │   ├── ExpiresHeader.java
│                   │   ├── ExtensionHeader.java
│                   │   ├── FromHeader.java
│                   │   ├── Header.java
│                   │   ├── HeaderAddress.java
│                   │   ├── HeaderFactory.java
│                   │   ├── InReplyToHeader.java
│                   │   ├── MaxForwardsHeader.java
│                   │   ├── MediaType.java
│                   │   ├── MimeVersionHeader.java
│                   │   ├── MinExpiresHeader.java
│                   │   ├── OptionTag.java
│                   │   ├── OrganizationHeader.java
│                   │   ├── Parameters.java
│                   │   ├── PriorityHeader.java
│                   │   ├── ProxyAuthenticateHeader.java
│                   │   ├── ProxyAuthorizationHeader.java
│                   │   ├── ProxyRequireHeader.java
│                   │   ├── RAckHeader.java
│                   │   ├── RSeqHeader.java
│                   │   ├── ReasonHeader.java
│                   │   ├── RecordRouteHeader.java
│                   │   ├── ReferToHeader.java
│                   │   ├── ReplyToHeader.java
│                   │   ├── RequireHeader.java
│                   │   ├── RetryAfterHeader.java
│                   │   ├── RouteHeader.java
│                   │   ├── SIPETagHeader.java
│                   │   ├── SIPIfMatchHeader.java
│                   │   ├── ServerHeader.java
│                   │   ├── SubjectHeader.java
│                   │   ├── SubscriptionStateHeader.java
│                   │   ├── SupportedHeader.java
│                   │   ├── TimeStampHeader.java
│                   │   ├── ToHeader.java
│                   │   ├── TooManyHopsException.java
│                   │   ├── UnsupportedHeader.java
│                   │   ├── UserAgentHeader.java
│                   │   ├── ViaHeader.java
│                   │   ├── WWWAuthenticateHeader.java
│                   │   └── WarningHeader.java
│                   └── message/
│                       ├── Message.java
│                       ├── MessageFactory.java
│                       ├── Request.java
│                       └── Response.java
├── mediaplayer/
│   ├── AndroidManifest.xml
│   ├── build.gradle
│   ├── proguard-project.txt
│   ├── project.properties
│   └── src/
│       └── com/
│           └── orangelabs/
│               └── rcs/
│                   └── core/
│                       └── ims/
│                           └── protocol/
│                               └── rtp/
│                                   ├── CodecChain.java
│                                   ├── DummyPacketGenerator.java
│                                   ├── MediaRegistry.java
│                                   ├── MediaRtpReceiver.java
│                                   ├── MediaRtpSender.java
│                                   ├── Processor.java
│                                   ├── RtpException.java
│                                   ├── RtpUtils.java
│                                   ├── VideoRtpReceiver.java
│                                   ├── VideoRtpSender.java
│                                   ├── codec/
│                                   │   ├── Codec.java
│                                   │   └── video/
│                                   │       ├── VideoCodec.java
│                                   │       └── h264/
│                                   │           ├── H264Config.java
│                                   │           ├── H264RtpHeaders.java
│                                   │           ├── JavaDepacketizer.java
│                                   │           ├── JavaPacketizer.java
│                                   │           ├── NalUnitHeader.java
│                                   │           ├── NalUnitType.java
│                                   │           ├── decoder/
│                                   │           │   └── NativeH264Decoder.java
│                                   │           ├── encoder/
│                                   │           │   ├── NativeH264Encoder.java
│                                   │           │   └── NativeH264EncoderParams.java
│                                   │           └── profiles/
│                                   │               ├── H264Profile.java
│                                   │               ├── H264Profile1.java
│                                   │               ├── H264Profile1_1.java
│                                   │               ├── H264Profile1_2.java
│                                   │               ├── H264Profile1_3.java
│                                   │               ├── H264Profile1b.java
│                                   │               ├── H264TypeLevel.java
│                                   │               └── H264TypeProfile.java
│                                   ├── core/
│                                   │   ├── ReceptionReport.java
│                                   │   ├── RtcpAppPacket.java
│                                   │   ├── RtcpByePacket.java
│                                   │   ├── RtcpCompoundPacket.java
│                                   │   ├── RtcpPacket.java
│                                   │   ├── RtcpPacketReceiver.java
│                                   │   ├── RtcpPacketTransmitter.java
│                                   │   ├── RtcpPacketUtils.java
│                                   │   ├── RtcpReceiverReportPacket.java
│                                   │   ├── RtcpReport.java
│                                   │   ├── RtcpSdesBlock.java
│                                   │   ├── RtcpSdesItem.java
│                                   │   ├── RtcpSdesPacket.java
│                                   │   ├── RtcpSenderReportPacket.java
│                                   │   ├── RtcpSession.java
│                                   │   ├── RtcpStatisticsReceiver.java
│                                   │   ├── RtcpStatisticsTransmitter.java
│                                   │   ├── RtpExtensionHeader.java
│                                   │   ├── RtpPacket.java
│                                   │   ├── RtpPacketReceiver.java
│                                   │   ├── RtpPacketTransmitter.java
│                                   │   ├── RtpSource.java
│                                   │   ├── RtpStatisticsReceiver.java
│                                   │   └── RtpStatisticsTransmitter.java
│                                   ├── event/
│                                   │   ├── RtcpApplicationEvent.java
│                                   │   ├── RtcpByeEvent.java
│                                   │   ├── RtcpEvent.java
│                                   │   ├── RtcpEventListener.java
│                                   │   ├── RtcpReceiverReportEvent.java
│                                   │   ├── RtcpSdesEvent.java
│                                   │   └── RtcpSenderReportEvent.java
│                                   ├── format/
│                                   │   ├── DummyFormat.java
│                                   │   ├── Format.java
│                                   │   └── video/
│                                   │       ├── CameraOptions.java
│                                   │       ├── H264VideoFormat.java
│                                   │       ├── Orientation.java
│                                   │       ├── VideoFormat.java
│                                   │       └── VideoOrientation.java
│                                   ├── media/
│                                   │   ├── MediaException.java
│                                   │   ├── MediaInput.java
│                                   │   ├── MediaListener.java
│                                   │   ├── MediaOutput.java
│                                   │   ├── MediaSample.java
│                                   │   └── VideoSample.java
│                                   ├── stream/
│                                   │   ├── DummyPacketSourceStream.java
│                                   │   ├── MediaCaptureStream.java
│                                   │   ├── MediaRendererStream.java
│                                   │   ├── ProcessorInputStream.java
│                                   │   ├── ProcessorOutputStream.java
│                                   │   ├── RtpInputStream.java
│                                   │   ├── RtpOutputStream.java
│                                   │   ├── RtpStreamListener.java
│                                   │   ├── VideoCaptureStream.java
│                                   │   └── VideoRendererStream.java
│                                   └── util/
│                                       ├── AndroidDatagramConnection.java
│                                       ├── Buffer.java
│                                       ├── DatagramConnection.java
│                                       ├── FifoBuffer.java
│                                       ├── HexadecimalUtils.java
│                                       ├── NetworkRessourceManager.java
│                                       ├── Packet.java
│                                       └── SystemTimeBase.java
├── samples/
│   └── api/
│       ├── extension/
│       │   ├── AndroidManifest.xml
│       │   ├── LICENSE-2.0.txt
│       │   ├── README.md
│       │   ├── build.gradle
│       │   ├── default.properties
│       │   ├── proguard-project.txt
│       │   ├── project.properties
│       │   ├── res/
│       │   │   ├── layout/
│       │   │   │   └── main.xml
│       │   │   └── values/
│       │   │       └── strings.xml
│       │   └── src/
│       │       └── com/
│       │           └── gsma/
│       │               └── services/
│       │                   └── rcs/
│       │                       └── samples/
│       │                           └── extension/
│       │                               └── Main.java
│       └── tts/
│           ├── AndroidManifest.xml
│           ├── LICENSE-2.0.txt
│           ├── README.md
│           ├── build.gradle
│           ├── build.xml
│           ├── proguard-project.txt
│           ├── project.properties
│           ├── res/
│           │   ├── values/
│           │   │   └── strings.xml
│           │   └── xml/
│           │       └── tts_preferences.xml
│           └── src/
│               └── com/
│                   └── orangelabs/
│                       └── rcs/
│                           └── tts/
│                               ├── ChatEvent.java
│                               ├── Main.java
│                               ├── PlayTextToSpeech.java
│                               └── Registry.java
├── settings.gradle
├── studio/
│   └── README.md
├── templates-sdk/
│   ├── assets/
│   │   ├── android-developer-core.css
│   │   ├── android-developer-docs-devguide.css
│   │   ├── android-developer-docs.css
│   │   ├── android-developer-docs.js
│   │   ├── android-developer-reference.js
│   │   ├── carousel.js
│   │   ├── joyn-sdk.css
│   │   ├── joyn-sdk.js
│   │   ├── jquery-history.js
│   │   ├── prettify.js
│   │   ├── search_autocomplete.js
│   │   ├── skin-carousel-home.css
│   │   ├── skin-carousel-ri.css
│   │   ├── style.css
│   │   └── widget.js
│   ├── components/
│   │   ├── left_nav.cs
│   │   └── masthead.cs
│   ├── footer.cs
│   ├── head_tag.cs
│   └── macros.cs
├── tests/
│   ├── cts/
│   │   ├── provider/
│   │   │   ├── build.gradle
│   │   │   └── src/
│   │   │       ├── androidTest/
│   │   │       │   └── java/
│   │   │       │       └── android/
│   │   │       │           └── tests/
│   │   │       │               └── provider/
│   │   │       │                   ├── CapabilitiesLogTest.java
│   │   │       │                   ├── ChatLogGroupChatTest.java
│   │   │       │                   ├── ChatLogMessageTest.java
│   │   │       │                   ├── FileTransferLogTest.java
│   │   │       │                   ├── GeolocSharingLogTest.java
│   │   │       │                   ├── GroupDeliveryInfoLogTest.java
│   │   │       │                   ├── HistoryLogTest.java
│   │   │       │                   ├── ImageSharingLogTest.java
│   │   │       │                   ├── Utils.java
│   │   │       │                   └── VideoSharingLogTest.java
│   │   │       └── main/
│   │   │           ├── AndroidManifest.xml
│   │   │           └── res/
│   │   │               └── values/
│   │   │                   └── strings.xml
│   │   ├── run-test
│   │   └── signature/
│   │       ├── README.md
│   │       ├── build.gradle
│   │       └── src/
│   │           ├── androidTest/
│   │           │   └── java/
│   │           │       └── android/
│   │           │           └── tests/
│   │           │               └── sigtest/
│   │           │                   └── RcsApiSignatureTest.java
│   │           └── main/
│   │               ├── AndroidManifest.xml
│   │               ├── java/
│   │               │   └── android/
│   │               │       └── tests/
│   │               │           └── sigtest/
│   │               │               ├── JDiffClassDescription.java
│   │               │               ├── RcsApiSignatureTestResult.java
│   │               │               ├── ResultObserver.java
│   │               │               ├── SignatureTest.java
│   │               │               ├── SignatureTestActivity.java
│   │               │               ├── SignatureTestLog.java
│   │               │               └── ToTest.java
│   │               └── res/
│   │                   ├── layout/
│   │                   │   ├── rcs_api_signature.xml
│   │                   │   └── rcs_api_signature_item.xml
│   │                   ├── raw/
│   │                   │   └── excludepackages.txt
│   │                   ├── values/
│   │                   │   └── strings.xml
│   │                   └── xml/
│   │                       ├── albatros.xml
│   │                       ├── blackbird_1_0.xml
│   │                       ├── blackbird_1_5_1.xml
│   │                       └── crane_1_6_1.xml
│   ├── multistack/
│   │   ├── AndroidManifest.xml
│   │   ├── res/
│   │   │   ├── layout/
│   │   │   │   └── activity_main.xml
│   │   │   └── values/
│   │   │       └── strings.xml
│   │   └── src/
│   │       └── com/
│   │           └── orangelabs/
│   │               └── test/
│   │                   └── stack2/
│   │                       ├── GetStatusReceiver.java
│   │                       └── MainActivity.java
│   ├── samples/
│   │   ├── AndroidManifest.xml
│   │   ├── res/
│   │   │   └── values/
│   │   │       └── strings.xml
│   │   └── src/
│   │       └── com/
│   │           └── gsma/
│   │               └── rcs/
│   │                   └── api/
│   │                       ├── CapabilitySampleTest.java
│   │                       ├── ChatSampleTest.java
│   │                       ├── CodeSamplesInstrumentationTestRunner.java
│   │                       ├── ContactSampleTest.java
│   │                       ├── MultimediaSessionSampleTest.java
│   │                       └── Synchronizer.java
│   └── security-extension/
│       ├── AndroidManifest.xml
│       ├── install.bat
│       ├── res/
│       │   ├── layout/
│       │   │   └── activity_main.xml
│       │   └── values/
│       │       ├── dimens.xml
│       │       ├── strings.xml
│       │       └── styles.xml
│       ├── src/
│       │   └── com/
│       │       └── gsma/
│       │           └── rcs/
│       │               └── MainActivity.java
│       └── test_security_extension.apk
└── tools/
    ├── notification/
    │   ├── AndroidManifest.xml
    │   ├── README.md
    │   ├── build.gradle
    │   ├── build.xml
    │   ├── proguard-project.txt
    │   ├── project.properties
    │   ├── res/
    │   │   ├── values/
    │   │   │   ├── strings.xml
    │   │   │   └── styles.xml
    │   │   ├── values-de/
    │   │   │   └── strings.xml
    │   │   ├── values-fr/
    │   │   │   └── strings.xml
    │   │   ├── values-v11/
    │   │   │   └── styles.xml
    │   │   └── values-v14/
    │   │       └── styles.xml
    │   └── src/
    │       └── com/
    │           └── gsma/
    │               └── rcs/
    │                   └── notif/
    │                       ├── DeviceBoot.java
    │                       ├── LaunchServiceActivity.java
    │                       └── RcsServiceNotifManager.java
    ├── provisioning/
    │   ├── AndroidManifest.xml
    │   ├── README.md
    │   ├── build.gradle
    │   ├── proguard-project.txt
    │   ├── project.properties
    │   ├── res/
    │   │   ├── layout/
    │   │   │   └── activity_main.xml
    │   │   ├── values/
    │   │   │   ├── dimens.xml
    │   │   │   ├── strings.xml
    │   │   │   └── styles.xml
    │   │   ├── values-v11/
    │   │   │   └── styles.xml
    │   │   ├── values-v14/
    │   │   │   └── styles.xml
    │   │   └── values-w820dp/
    │   │       └── dimens.xml
    │   └── src/
    │       └── com/
    │           └── gsma/
    │               └── rcs/
    │                   └── tools/
    │                       └── http/
    │                           └── provisioning/
    │                               └── ProvisioningTemplateActivity.java
    └── settings/
        ├── AndroidManifest.xml
        ├── README.md
        ├── build.gradle
        ├── build.xml
        ├── project.properties
        ├── res/
        │   ├── layout/
        │   │   └── app_about.xml
        │   ├── values/
        │   │   └── strings.xml
        │   └── xml/
        │       ├── rcs_settings_messaging_preferences.xml
        │       ├── rcs_settings_preferences.xml
        │       └── rcs_settings_userprofile_preferences.xml
        └── src/
            └── com/
                └── gsma/
                    └── rcs/
                        └── core/
                            └── control/
                                ├── CoreControlApplication.java
                                └── settings/
                                    ├── AboutSettings.java
                                    ├── ControlCoreReceiver.java
                                    ├── MessagingSettingsDisplay.java
                                    ├── SettingsDisplay.java
                                    └── UserprofileSettingsDisplay.java
Download .txt
Showing preview only (1,499K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (16422 symbols across 1724 files)

FILE: RI/src/com/gsma/rcs/ri/AboutRI.java
  class AboutRI (line 35) | public class AboutRI extends Activity {
    method onCreate (line 37) | @Override
    method getAppVersion (line 59) | private String getAppVersion() {
    method getGsmaVersion (line 74) | private String getGsmaVersion() {

FILE: RI/src/com/gsma/rcs/ri/DeviceBoot.java
  class DeviceBoot (line 30) | public class DeviceBoot extends BroadcastReceiver {
    method onReceive (line 31) | @Override

FILE: RI/src/com/gsma/rcs/ri/RI.java
  class RI (line 51) | public class RI extends RcsListActivity {
    method onCreate (line 65) | @Override
    method onListItemClick (line 119) | @Override
    class WaitForConnectionManagerStart (line 160) | private class WaitForConnectionManagerStart extends AsyncTask<Long, In...
      method onPreExecute (line 162) | @Override
      method onProgressUpdate (line 168) | @Override
      method doInBackground (line 173) | @Override
      method onPostExecute (line 189) | @Override

FILE: RI/src/com/gsma/rcs/ri/RcsServiceNotifManager.java
  class RcsServiceNotifManager (line 52) | public class RcsServiceNotifManager extends Service {
    method onCreate (line 78) | @Override
    method onDestroy (line 99) | @Override
    method onBind (line 107) | @Override
    method connectToService (line 112) | private void connectToService(Context ctx) {
    class RcsServiceStartupListener (line 141) | private class RcsServiceStartupListener extends BroadcastReceiver {
      method onReceive (line 142) | @Override
    method newRcsServiceListener (line 160) | private RcsServiceListener newRcsServiceListener() {
    method onServiceUnregistered (line 201) | @Override
    method onServiceRegistered (line 209) | @Override
    method notifyImsRegistered (line 218) | private void notifyImsRegistered() {
    method notifyImsUnregistered (line 222) | private void notifyImsUnregistered(RcsServiceRegistration.ReasonCode r...
    method addImsConnectionNotification (line 232) | private void addImsConnectionNotification(boolean connected, String la...
    method buildImsConnectionNotification (line 243) | private Notification buildImsConnectionNotification(PendingIntent inte...
    class ReceiveTimerToReConnectApi (line 275) | private class ReceiveTimerToReConnectApi extends BroadcastReceiver {
      method onReceive (line 276) | @Override

FILE: RI/src/com/gsma/rcs/ri/RiApplication.java
  class RiApplication (line 47) | public class RiApplication extends Application {
    method getDirection (line 158) | public static String getDirection(Direction direction) {
    method onCreate (line 164) | @Override
    method convertForUI (line 225) | private String[] convertForUI(String[] strings) {
    method getAppContext (line 238) | public static Context getAppContext() {
    method getRcsServiceControl (line 247) | public static RcsServiceControl getRcsServiceControl() {

FILE: RI/src/com/gsma/rcs/ri/capabilities/CapabilitiesList.java
  class CapabilitiesList (line 45) | public class CapabilitiesList extends RcsActivity {
    method onCreate (line 64) | @Override
    method createListAdapter (line 80) | private CapabilitiesListAdapter createListAdapter() {
    class CapabilitiesListAdapter (line 93) | private class CapabilitiesListAdapter extends CursorAdapter {
      method CapabilitiesListAdapter (line 102) | public CapabilitiesListAdapter(Context context, Cursor c) {
      method newView (line 108) | @Override
      method bindView (line 118) | @Override
    class CapabilitiesItemViewHolder (line 160) | private class CapabilitiesItemViewHolder {
      method CapabilitiesItemViewHolder (line 197) | CapabilitiesItemViewHolder(View base, Cursor cursor) {

FILE: RI/src/com/gsma/rcs/ri/capabilities/MyCapabilities.java
  class MyCapabilities (line 35) | public class MyCapabilities extends RcsActivity {
    method onCreate (line 37) | @Override
    method onResume (line 51) | @Override

FILE: RI/src/com/gsma/rcs/ri/capabilities/RequestAllCapabilities.java
  class RequestAllCapabilities (line 40) | public class RequestAllCapabilities extends RcsActivity {
    method onCreate (line 44) | @Override
    method intialize (line 64) | private void intialize() {

FILE: RI/src/com/gsma/rcs/ri/capabilities/RequestCapabilities.java
  class RequestCapabilities (line 57) | public class RequestCapabilities extends RcsActivity {
    method onCreate (line 76) | @Override
    method onDestroy (line 115) | @Override
    class MyCapabilitiesListener (line 132) | private class MyCapabilitiesListener extends CapabilitiesListener {
      method onCapabilitiesReceived (line 139) | public void onCapabilitiesReceived(final ContactId contact, final Ca...
    method getSelectedContact (line 166) | private ContactId getSelectedContact() {
    method updateCapabilities (line 172) | private void updateCapabilities(ContactId contact) {
    method displayCapabilities (line 186) | private void displayCapabilities(Capabilities capabilities) {
    method getExtensions (line 213) | static String getExtensions(Capabilities capabilities) {
    method initialize (line 224) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/capabilities/TestCapabilitiesApi.java
  class TestCapabilitiesApi (line 36) | public class TestCapabilitiesApi extends ListActivity {
    method onCreate (line 38) | @Override
    method onListItemClick (line 55) | @Override

FILE: RI/src/com/gsma/rcs/ri/contacts/BlockingContact.java
  class BlockingContact (line 45) | public class BlockingContact extends RcsActivity {
    method onCreate (line 58) | @Override
    method updateBlockingState (line 92) | private void updateBlockingState(ContactId contactId) {
    method getSelectedContact (line 101) | private ContactId getSelectedContact() {
    method initialize (line 107) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/contacts/ContactVCard.java
  class ContactVCard (line 47) | public class ContactVCard extends RcsActivity {
    method onCreate (line 54) | @Override
    method onItemSelected (line 76) | @Override
    method onNothingSelected (line 85) | @Override
    method getSelectedContact (line 95) | private String getSelectedContact() {
    method displayVisitCard (line 106) | private void displayVisitCard(String contact) {
    method onClick (line 122) | public void onClick(View v) {

FILE: RI/src/com/gsma/rcs/ri/contacts/RcsContactsList.java
  class RcsContactsList (line 50) | public class RcsContactsList extends RcsListActivity {
    method onCreate (line 52) | @Override
    method onResume (line 65) | @Override
    method updateList (line 74) | private void updateList() {
    class ContactArrayAdapter (line 90) | private class ContactArrayAdapter extends ArrayAdapter<RcsContact> {
      method ContactArrayAdapter (line 97) | public ContactArrayAdapter(Context ctx, int resourceRowLayout, List<...
      method getView (line 105) | @Override
    class CapabilitiesItemViewHolder (line 161) | private class CapabilitiesItemViewHolder {
      method CapabilitiesItemViewHolder (line 175) | CapabilitiesItemViewHolder(View base) {

FILE: RI/src/com/gsma/rcs/ri/contacts/TestContactsApi.java
  class TestContactsApi (line 41) | public class TestContactsApi extends RcsListActivity {
    method onCreate (line 45) | @Override
    method onListItemClick (line 60) | @Override

FILE: RI/src/com/gsma/rcs/ri/extension/InitiateMultimediaSession.java
  class InitiateMultimediaSession (line 39) | public abstract class InitiateMultimediaSession extends Activity {
    method onCreate (line 46) | @Override
    method onClick (line 72) | public void onClick(View v) {
    method initiateSession (line 89) | public abstract void initiateSession(ContactId contact);

FILE: RI/src/com/gsma/rcs/ri/extension/InstantMessageReceiver.java
  class InstantMessageReceiver (line 38) | public class InstantMessageReceiver extends BroadcastReceiver {
    method onReceive (line 42) | @Override

FILE: RI/src/com/gsma/rcs/ri/extension/MultiMediaSessionIntentService.java
  class MultiMediaSessionIntentService (line 52) | public class MultiMediaSessionIntentService extends IntentService {
    method MultiMediaSessionIntentService (line 66) | public MultiMediaSessionIntentService() {
    method onStartCommand (line 70) | @Override
    method onHandleIntent (line 79) | @Override
    method initiateSession (line 109) | private void initiateSession(Intent intent) {
    method addSessionInvitationNotification (line 139) | private void addSessionInvitationNotification(Intent intent, ContactId...

FILE: RI/src/com/gsma/rcs/ri/extension/MultimediaSessionList.java
  class MultimediaSessionList (line 35) | public abstract class MultimediaSessionList extends RcsListActivity {
    method onCreate (line 37) | @Override
    method onResume (line 53) | @Override
    method onListItemClick (line 62) | @Override
    method displaySession (line 73) | public abstract void displaySession(int position);
    method updateList (line 78) | public abstract void updateList();

FILE: RI/src/com/gsma/rcs/ri/extension/SendInstantMessage.java
  class SendInstantMessage (line 42) | public class SendInstantMessage extends RcsActivity {
    method onCreate (line 49) | @Override
    method onClick (line 84) | public void onClick(View v) {
    method sendMessage (line 99) | public void sendMessage(ContactId contact) {

FILE: RI/src/com/gsma/rcs/ri/extension/SessionInvitationReceiver.java
  class SessionInvitationReceiver (line 30) | public class SessionInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/extension/TestMultimediaSessionApi.java
  class TestMultimediaSessionApi (line 40) | public class TestMultimediaSessionApi extends ListActivity {
    method onCreate (line 41) | @Override
    method onListItemClick (line 60) | @Override

FILE: RI/src/com/gsma/rcs/ri/extension/messaging/InitiateMessagingSession.java
  class InitiateMessagingSession (line 32) | public class InitiateMessagingSession extends InitiateMultimediaSession {
    method initiateSession (line 39) | public void initiateSession(ContactId contact) {

FILE: RI/src/com/gsma/rcs/ri/extension/messaging/MessagingSessionList.java
  class MessagingSessionList (line 38) | public class MessagingSessionList extends MultimediaSessionList {
    method displaySession (line 49) | public void displaySession(int position) {
    method updateList (line 65) | public void updateList() {

FILE: RI/src/com/gsma/rcs/ri/extension/messaging/MessagingSessionUtils.java
  class MessagingSessionUtils (line 26) | public class MessagingSessionUtils {

FILE: RI/src/com/gsma/rcs/ri/extension/messaging/MessagingSessionView.java
  class MessagingSessionView (line 63) | public class MessagingSessionView extends RcsActivity {
    method onCreate (line 117) | @Override
    method onDestroy (line 143) | @Override
    method acceptInvitation (line 155) | private void acceptInvitation() {
    method rejectInvitation (line 168) | private void rejectInvitation() {
    method initialiseMessagingSession (line 177) | private void initialiseMessagingSession(Intent intent) {
    method startSession (line 246) | private void startSession() {
    method showProgressDialog (line 259) | private void showProgressDialog() {
    method hideProgressDialog (line 270) | private void hideProgressDialog() {
    method quitSession (line 277) | private void quitSession() {
    method onKeyDown (line 291) | @Override
    method onCreateOptionsMenu (line 320) | @Override
    method onOptionsItemSelected (line 327) | @Override
    method initialize (line 337) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/extension/streaming/InitiateStreamingSession.java
  class InitiateStreamingSession (line 32) | public class InitiateStreamingSession extends InitiateMultimediaSession {
    method initiateSession (line 39) | public void initiateSession(ContactId contact) {

FILE: RI/src/com/gsma/rcs/ri/extension/streaming/StreamingSessionList.java
  class StreamingSessionList (line 38) | public class StreamingSessionList extends MultimediaSessionList {
    method displaySession (line 49) | public void displaySession(int position) {
    method updateList (line 65) | public void updateList() {

FILE: RI/src/com/gsma/rcs/ri/extension/streaming/StreamingSessionUtils.java
  class StreamingSessionUtils (line 26) | public class StreamingSessionUtils {

FILE: RI/src/com/gsma/rcs/ri/extension/streaming/StreamingSessionView.java
  class StreamingSessionView (line 66) | public class StreamingSessionView extends RcsActivity {
    method onCreate (line 137) | @Override
    method onDestroy (line 168) | @Override
    method acceptInvitation (line 183) | private void acceptInvitation() {
    method rejectInvitation (line 195) | private void rejectInvitation() {
    method initialiseStreamingSession (line 203) | private void initialiseStreamingSession(Intent intent) {
    method startSession (line 264) | private void startSession() {
    method showProgressDialog (line 276) | private void showProgressDialog() {
    method hideProgressDialog (line 287) | private void hideProgressDialog() {
    method quitSession (line 294) | private void quitSession() {
    method onKeyDown (line 309) | @Override
    method onCreateOptionsMenu (line 338) | @Override
    method onOptionsItemSelected (line 345) | @Override
    method initialize (line 355) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/intents/TestIntentApps.java
  class TestIntentApps (line 37) | public class TestIntentApps extends RcsActivity {
    method onCreate (line 39) | @Override
    method onClick (line 65) | public void onClick(View v) {

FILE: RI/src/com/gsma/rcs/ri/messaging/GroupDeliveryInfoList.java
  class GroupDeliveryInfoList (line 43) | public class GroupDeliveryInfoList extends FragmentActivity implements
    method onCreate (line 84) | @Override
    method startActivity (line 110) | public static void startActivity(Context context, String messageId) {
    method onCreateLoader (line 116) | @Override
    method onLoadFinished (line 128) | @Override
    method onLoaderReset (line 145) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/GroupTalkView.java
  class GroupTalkView (line 108) | public class GroupTalkView extends RcsFragmentActivity implements
    type GroupChatMode (line 149) | private enum GroupChatMode {
    method onCreate (line 175) | @Override
    method initialize (line 201) | private void initialize() throws RcsServiceNotAvailableException, RcsG...
    method processIntent (line 401) | private boolean processIntent(Intent intent) {
    method setCursorLoader (line 493) | private void setCursorLoader(boolean firstLoad) {
    method onDestroy (line 505) | @Override
    method onResume (line 520) | @Override
    method onNewIntent (line 543) | @Override
    method onPause (line 551) | @Override
    method onActivityResult (line 571) | @Override
    method onCreateContextMenu (line 590) | @Override
    method onContextItemSelected (line 636) | @Override
    method markFileTransferAsRead (line 694) | private void markFileTransferAsRead(Cursor cursor, String ftId) {
    method updateGroupChatViewTitle (line 722) | private void updateGroupChatViewTitle(String subject) {
    method onCreateLoader (line 728) | @Override
    method onLoadFinished (line 737) | @Override
    method onLoaderReset (line 768) | @Override
    method displayAcceptRejectDialog (line 782) | private void displayAcceptRejectDialog(ContactId remote) {
    method getSetOfParticipants (line 822) | private Set<String> getSetOfParticipants(Map<ContactId, ParticipantSta...
    method initiateGroupChat (line 838) | private boolean initiateGroupChat(boolean firstLoad) {
    method addParticipants (line 856) | private void addParticipants() {
    method onCreateOptionsMenu (line 924) | @Override
    method onPrepareOptionsMenu (line 931) | @Override
    method onOptionsItemSelected (line 954) | @Override
    method initiateGroupChat (line 1025) | public static void initiateGroupChat(Context ctx, String subject, Arra...
    method openGroupChat (line 1041) | public static void openGroupChat(Context ctx, String chatId) {
    method forgeIntentNewMessage (line 1058) | public static Intent forgeIntentNewMessage(Context ctx, Intent newgrou...
    method forgeIntentInvitation (line 1075) | public static Intent forgeIntentInvitation(Context ctx, Intent invitat...
    method sendMessage (line 1082) | private ChatMessage sendMessage(String message) throws RcsServiceExcep...
    method getNotifyComposing (line 1089) | private INotifyComposing getNotifyComposing() {
    method displayComposingEvent (line 1106) | private void displayComposingEvent(ContactId contact, final boolean st...
    method sendText (line 1123) | private void sendText() {
    method addQuickText (line 1136) | private void addQuickText() {
    method getGeoLoc (line 1149) | private void getGeoLoc() {

FILE: RI/src/com/gsma/rcs/ri/messaging/OneToOneTalkView.java
  class OneToOneTalkView (line 104) | public class OneToOneTalkView extends RcsFragmentActivity implements
    method forgeIntentToOpenConversation (line 187) | public static Intent forgeIntentToOpenConversation(Context context, Co...
    method forgeIntentOnStackEvent (line 203) | public static Intent forgeIntentOnStackEvent(Context ctx, ContactId co...
    method onCreate (line 210) | @Override
    method sendText (line 234) | private void sendText() {
    method initialize (line 250) | private void initialize() throws RcsGenericException, RcsServiceNotAva...
    method processIntent (line 452) | private boolean processIntent(Intent intent) {
    method clearNotification (line 510) | private void clearNotification() {
    method loadConversation (line 516) | private void loadConversation(ContactId newContact) throws RcsServiceN...
    method setCursorLoader (line 533) | private void setCursorLoader(boolean firstLoad) {
    method onPause (line 545) | @Override
    method onNewIntent (line 568) | @Override
    method onResume (line 576) | @Override
    method onCreateOptionsMenu (line 602) | @Override
    method onActivityResult (line 609) | @Override
    method onOptionsItemSelected (line 628) | @Override
    method onCreateContextMenu (line 652) | @Override
    method onContextItemSelected (line 740) | @Override
    method markFileTransferAsRead (line 825) | private void markFileTransferAsRead(Cursor cursor, String ftId) {
    method onCreateLoader (line 848) | @Override
    method onLoadFinished (line 856) | @Override
    method onLoaderReset (line 885) | @Override
    method displayComposingEvent (line 894) | private void displayComposingEvent(final ContactId contact, final bool...
    method processUndeliveredFileTransfers (line 912) | private void processUndeliveredFileTransfers(String displayName) throw...
    method processUndeliveredMessages (line 928) | private void processUndeliveredMessages(String displayName) throws Rcs...
    method popUpDeliveryExpiration (line 943) | private AlertDialog popUpDeliveryExpiration(Context ctx, String title,...
    method requestCapabilities (line 958) | private void requestCapabilities(ContactId contact) throws RcsServiceN...

FILE: RI/src/com/gsma/rcs/ri/messaging/TalkList.java
  class TalkList (line 74) | public class TalkList extends RcsActivity {
    method onCreate (line 95) | @Override
    method onNewIntent (line 107) | @Override
    method onResume (line 130) | @Override
    method onPause (line 138) | @Override
    method onCreateOptionsMenu (line 145) | @Override
    method onOptionsItemSelected (line 152) | @Override
    method onCreateContextMenu (line 180) | @Override
    method onContextItemSelected (line 187) | @Override
    method updateView (line 225) | private void updateView() {
    method initialize (line 232) | private void initialize() {
    method notifyNewConversationEvent (line 400) | public static void notifyNewConversationEvent(Context ctx, String acti...
    method addServiceListeners (line 409) | private void addServiceListeners() {
    method removeServiceListeners (line 436) | private void removeServiceListeners() {

FILE: RI/src/com/gsma/rcs/ri/messaging/TalkListUpdate.java
  class TalkListUpdate (line 49) | public class TalkListUpdate extends AsyncTask<Void, Void, Collection<Tal...
    method TalkListUpdate (line 72) | public TalkListUpdate(Context ctx, TaskCompleted taskCompleted) {
    method doInBackground (line 77) | @Override
    method onPostExecute (line 93) | @Override
    type TaskCompleted (line 100) | public interface TaskCompleted {
      method onTaskComplete (line 101) | void onTaskComplete(Collection<TalkListArrayItem> result);
    method isUnread (line 104) | private boolean isUnread(int providerId, RcsService.Direction dir,
    method queryHistoryLogAndRefreshView (line 137) | Collection<TalkListArrayItem> queryHistoryLogAndRefreshView() {

FILE: RI/src/com/gsma/rcs/ri/messaging/TestMessagingApi.java
  class TestMessagingApi (line 38) | public class TestMessagingApi extends ListActivity {
    method onCreate (line 39) | @Override
    method onListItemClick (line 57) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/BasicViewHolder.java
  class BasicViewHolder (line 32) | public class BasicViewHolder {
    method BasicViewHolder (line 51) | public BasicViewHolder(View base, Cursor cursor) {
    method getStatusText (line 67) | public TextView getStatusText() {
    method getTimestampText (line 71) | public TextView getTimestampText() {
    method getContactText (line 75) | public TextView getContactText() {
    method getColumnDirectionIdx (line 79) | public int getColumnDirectionIdx() {
    method getColumnTimestampIdx (line 83) | public int getColumnTimestampIdx() {
    method getColumnStatusIdx (line 87) | public int getColumnStatusIdx() {
    method getColumnMimetypeIdx (line 91) | public int getColumnMimetypeIdx() {
    method getColumnReasonCodeIdx (line 95) | public int getColumnReasonCodeIdx() {
    method getColumnContactIdx (line 99) | public int getColumnContactIdx() {
    method getColumnReadStatusIdx (line 103) | public int getColumnReadStatusIdx() {
    method getColumnIdIdx (line 107) | public int getColumnIdIdx() {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/GroupDeliveryInfoCursorAdapter.java
  class GroupDeliveryInfoCursorAdapter (line 41) | public class GroupDeliveryInfoCursorAdapter extends CursorAdapter {
    method GroupDeliveryInfoCursorAdapter (line 55) | public GroupDeliveryInfoCursorAdapter(Context context) {
    method newView (line 61) | @Override
    method bindView (line 69) | @Override
    class ViewHolder (line 122) | private class ViewHolder {
      method ViewHolder (line 149) | ViewHolder(View base, Cursor cursor) {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/RcsChatInViewHolder.java
  class RcsChatInViewHolder (line 33) | public class RcsChatInViewHolder extends BasicViewHolder {
    method RcsChatInViewHolder (line 39) | public RcsChatInViewHolder(View view, Cursor cursor) {
    method getContentText (line 47) | public TextView getContentText() {
    method getColumnContentIdx (line 51) | public int getColumnContentIdx() {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/RcsChatOutViewHolder.java
  class RcsChatOutViewHolder (line 26) | public class RcsChatOutViewHolder extends RcsChatInViewHolder {
    method RcsChatOutViewHolder (line 29) | public RcsChatOutViewHolder(View view, Cursor cursor) {
    method getColumnExpiredDeliveryIdx (line 35) | public int getColumnExpiredDeliveryIdx() {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/RcsFileTransferInViewHolder.java
  class RcsFileTransferInViewHolder (line 35) | public class RcsFileTransferInViewHolder extends BasicViewHolder {
    method RcsFileTransferInViewHolder (line 51) | RcsFileTransferInViewHolder(View base, Cursor cursor) {
    method getColumnContentIdx (line 64) | public int getColumnContentIdx() {
    method getProgressText (line 68) | public TextView getProgressText() {
    method getFileImageView (line 72) | public ImageView getFileImageView() {
    method getColumnFilenameIdx (line 76) | public int getColumnFilenameIdx() {
    method getColumnFilesizeIdx (line 80) | public int getColumnFilesizeIdx() {
    method getColumnTransferredIdx (line 84) | public int getColumnTransferredIdx() {
    method getColumnContactIdx (line 88) | public int getColumnContactIdx() {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/RcsFileTransferOutViewHolder.java
  class RcsFileTransferOutViewHolder (line 30) | public class RcsFileTransferOutViewHolder extends RcsFileTransferInViewH...
    method RcsFileTransferOutViewHolder (line 39) | RcsFileTransferOutViewHolder(View base, Cursor cursor) {
    method getColumnExpiredDeliveryIdx (line 45) | public int getColumnExpiredDeliveryIdx() {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/TalkCursorAdapter.java
  class TalkCursorAdapter (line 76) | public class TalkCursorAdapter extends CursorAdapter {
    method TalkCursorAdapter (line 106) | public TalkCursorAdapter(Activity activity, boolean singleChat, ChatSe...
    method newView (line 126) | @Override
    method bindRemoteContact (line 163) | private void bindRemoteContact(View view, Context ctx, Cursor cursor) {
    method bindView (line 181) | @Override
    method getItemViewType (line 208) | public int getItemViewType(Cursor cursor) {
    method getItemViewType (line 237) | @Override
    method getViewTypeCount (line 242) | @Override
    method bindRcsGroupChatEvent (line 247) | private void bindRcsGroupChatEvent(View view, Cursor cursor) {
    method bindRcsFileTransferOutView (line 257) | private void bindRcsFileTransferOutView(View view, Cursor cursor) {
    method bindRcsFileTransferInView (line 328) | private void bindRcsFileTransferInView(View view, Cursor cursor) {
    method markFileTransferAsRead (line 400) | private void markFileTransferAsRead(String ftId, RcsService.ReadStatus...
    method bindRcsChatView (line 417) | private RcsChatInViewHolder bindRcsChatView(View view, Cursor cursor) {
    method bindRcsChatOutView (line 435) | private void bindRcsChatOutView(View view, Cursor cursor) {
    method bindRcsChatInView (line 442) | private void bindRcsChatInView(View view, Cursor cursor) {
    method markChatMessageAsRead (line 448) | private void markChatMessageAsRead(Cursor cursor, RcsChatInViewHolder ...
    method getRcsFileTransferStatus (line 468) | private String getRcsFileTransferStatus(Cursor cursor, RcsFileTransfer...
    method getRcsChatStatus (line 481) | private String getRcsChatStatus(Cursor cursor, RcsChatInViewHolder hol...
    method formatGeolocation (line 501) | public static String formatGeolocation(Context context, Geoloc geoloc) {
    method formatMessageWithSmiley (line 517) | private CharSequence formatMessageWithSmiley(String txt) {

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/TalkListArrayAdapter.java
  class TalkListArrayAdapter (line 43) | public class TalkListArrayAdapter extends ArrayAdapter<TalkListArrayItem> {
    method TalkListArrayAdapter (line 52) | public TalkListArrayAdapter(Context context, List<TalkListArrayItem> m...
    method getView (line 59) | @Override
    method getItemViewType (line 75) | @Override
    method getViewTypeCount (line 81) | @Override
    method bindView (line 86) | public void bindView(View view, int position) {
    method bindViewGroupChat (line 111) | private void bindViewGroupChat(TalkListArrayItem item, TalkListArrayIt...
    method bindViewOneToOneTalk (line 115) | private void bindViewOneToOneTalk(TalkListArrayItem item,
    method setContent (line 128) | private void setContent(TalkListArrayItem.ViewHolder holder, String co...
    method setTimestamp (line 132) | private void setTimestamp(TalkListArrayItem.ViewHolder holder, long ti...
    method setStatus (line 139) | private void setStatus(TalkListArrayItem.ViewHolder holder, int unRead...
    method setContact (line 153) | private void setContact(TalkListArrayItem.ViewHolderOneToOne holder, C...

FILE: RI/src/com/gsma/rcs/ri/messaging/adapter/TalkListArrayItem.java
  class TalkListArrayItem (line 32) | public class TalkListArrayItem implements Comparable<TalkListArrayItem> {
    method TalkListArrayItem (line 54) | public TalkListArrayItem(String chatId, ContactId contact, long timest...
    method getTimestamp (line 65) | public long getTimestamp() {
    method getDirection (line 69) | public RcsService.Direction getDirection() {
    method getContact (line 73) | public ContactId getContact() {
    method setContent (line 77) | public void setContent(String content) {
    method getContent (line 81) | public String getContent() {
    method getMimeType (line 85) | public String getMimeType() {
    method getChatId (line 89) | public String getChatId() {
    method getSubject (line 93) | public String getSubject() {
    method setSubject (line 97) | public void setSubject(String subject) {
    method compareTo (line 101) | @Override
    method getUnreadCount (line 109) | public int getUnreadCount() {
    method incrementUnreadCount (line 113) | public void incrementUnreadCount() {
    method isGroupChat (line 117) | public boolean isGroupChat() {
    class ViewHolder (line 121) | static public class ViewHolder {
      method ViewHolder (line 128) | ViewHolder(View view) {
      method getStatusText (line 135) | public TextView getStatusText() {
      method getTimestampText (line 139) | public TextView getTimestampText() {
      method getContentText (line 143) | public TextView getContentText() {
      method getAvatarImage (line 147) | public ImageView getAvatarImage() {
    class ViewHolderOneToOne (line 153) | static public class ViewHolderOneToOne extends ViewHolder {
      method ViewHolderOneToOne (line 157) | public ViewHolderOneToOne(View view) {
      method getContactText (line 162) | public TextView getContactText() {
    class ViewHolderGroup (line 167) | static public class ViewHolderGroup extends ViewHolder {
      method ViewHolderGroup (line 171) | public ViewHolderGroup(View view) {
      method getSubjectText (line 176) | public TextView getSubjectText() {

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/ChatCursorObserver.java
  class ChatCursorObserver (line 31) | public class ChatCursorObserver extends ContentObserver {
    method ChatCursorObserver (line 35) | public ChatCursorObserver(Handler handler, Loader<Cursor> loader) {
    method getLoader (line 40) | public Loader<Cursor> getLoader() {
    method deliverSelfNotifications (line 44) | @Override
    method onChange (line 49) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/ChatMessageDAO.java
  class ChatMessageDAO (line 42) | public class ChatMessageDAO {
    method getStatus (line 61) | public Message.Content.Status getStatus() {
    method getChatEvent (line 65) | public Message.GroupChatEvent.Status getChatEvent() {
    method getReadStatus (line 69) | public ReadStatus getReadStatus() {
    method getTimestampSent (line 73) | public long getTimestampSent() {
    method getTimestampDelivered (line 77) | public long getTimestampDelivered() {
    method getTimestampDisplayed (line 81) | public long getTimestampDisplayed() {
    method getContact (line 85) | public ContactId getContact() {
    method getChatId (line 89) | public String getChatId() {
    method getMimeType (line 93) | public String getMimeType() {
    method getDirection (line 97) | public Direction getDirection() {
    method getTimestamp (line 101) | public long getTimestamp() {
    method getContent (line 105) | public String getContent() {
    method getReasonCode (line 109) | public Message.Content.ReasonCode getReasonCode() {
    method isExpiredDelivery (line 113) | public boolean isExpiredDelivery() {
    method toString (line 117) | @Override
    method ChatMessageDAO (line 124) | private ChatMessageDAO(String msgId, ContactId contact, String chatId,...
    method getChatMessageDAO (line 153) | public static ChatMessageDAO getChatMessageDAO(Context ctx, String msg...

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/ChatMessageLogView.java
  class ChatMessageLogView (line 41) | public class ChatMessageLogView extends RcsActivity {
    method onCreate (line 61) | @Override
    method initialize (line 69) | private void initialize() {
    method getDateFromDb (line 86) | private String getDateFromDb(long timestamp) {
    method onResume (line 96) | @Override
    method startActivity (line 138) | public static void startActivity(Context context, String messageId) {

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/ChatPendingIntentManager.java
  class ChatPendingIntentManager (line 37) | public class ChatPendingIntentManager {
    type IForegroundInfo (line 55) | public interface IForegroundInfo {
      method isConversationOnForeground (line 56) | boolean isConversationOnForeground(String chatId);
    method ChatPendingIntentManager (line 59) | private ChatPendingIntentManager(Context ctx, IForegroundInfo foregrou...
    method tryContinueChatConversation (line 84) | public Integer tryContinueChatConversation(Intent continueChat, String...
    method postNotification (line 111) | public void postNotification(Integer id, Notification notification) {
    method clearNotification (line 115) | public void clearNotification(String chatId) {
    method getChatPendingIntentManager (line 129) | public static ChatPendingIntentManager getChatPendingIntentManager(Con...

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/ChatServiceConfigActivity.java
  class ChatServiceConfigActivity (line 43) | public class ChatServiceConfigActivity extends RcsActivity {
    method onCreate (line 52) | @Override
    method onResume (line 91) | @Override
    method displayChatServiceConfig (line 104) | private void displayChatServiceConfig() throws RcsServiceException {

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/ISendFile.java
  type ISendFile (line 30) | public interface ISendFile {
    method initialize (line 35) | void initialize();
    method transferFile (line 45) | boolean transferFile(Uri file, FileTransfer.Disposition disposition, b...
    method addFileTransferEventListener (line 52) | void addFileTransferEventListener(FileTransferService fileTransferServ...
    method removeFileTransferEventListener (line 60) | void removeFileTransferEventListener(FileTransferService fileTransferS...

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/IsComposingManager.java
  class IsComposingManager (line 27) | public class IsComposingManager {
    method IsComposingManager (line 59) | public IsComposingManager(long timeout, INotifyComposing notifyComposi...
    type INotifyComposing (line 67) | public interface INotifyComposing {
      method setTypingStatus (line 71) | void setTypingStatus(boolean status);
    class ClockHandler (line 75) | private class ClockHandler extends Handler {
      method handleMessage (line 76) | public void handleMessage(Message msg) {
    method hasActivity (line 142) | public void hasActivity() {
    method hasNoActivity (line 157) | public void hasNoActivity() {
    method messageWasSent (line 164) | public void messageWasSent() {

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/SendFile.java
  class SendFile (line 58) | public abstract class SendFile extends RcsActivity implements ISendFile {
    method onCreate (line 87) | @Override
    method onDestroy (line 113) | @Override
    method initiateTransfer (line 125) | private void initiateTransfer() {
    method onActivityResult (line 136) | @Override
    method selectDocument (line 171) | private void selectDocument() {
    method displayFileInfo (line 189) | private void displayFileInfo(Intent data) {
    method updateProgressBar (line 205) | protected void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 211) | private void quitSession() {
    method onKeyDown (line 227) | @Override
    method onCreateOptionsMenu (line 260) | @Override
    method onPrepareOptionsMenu (line 267) | @Override
    method onOptionsItemSelected (line 274) | @Override
    method initialize (line 288) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/TestChatApi.java
  class TestChatApi (line 50) | public class TestChatApi extends RcsListActivity {
    method onCreate (line 56) | @Override
    method onListItemClick (line 73) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatDAO.java
  class GroupChatDAO (line 40) | public class GroupChatDAO {
    method getState (line 60) | public GroupChat.State getState() {
    method getChatId (line 64) | public String getChatId() {
    method getParticipants (line 68) | public String getParticipants() {
    method getSubject (line 72) | public String getSubject() {
    method getDirection (line 76) | public Direction getDirection() {
    method getTimestamp (line 80) | public long getTimestamp() {
    method getReasonCode (line 84) | public GroupChat.ReasonCode getReasonCode() {
    method getContact (line 88) | public ContactId getContact() {
    method GroupChatDAO (line 92) | private GroupChatDAO(String chatId, ContactId contact, Direction direc...
    method toString (line 104) | @Override
    method getGroupChatDao (line 117) | public static GroupChatDAO getGroupChatDao(Context ctx, String chatId) {
    method isGroupChat (line 166) | public static boolean isGroupChat(String chatId, ContactId contact) {

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatIntentService.java
  class GroupChatIntentService (line 47) | public class GroupChatIntentService extends IntentService {
    method GroupChatIntentService (line 57) | public GroupChatIntentService() {
    method onCreate (line 61) | @Override
    method onStartCommand (line 67) | @Override
    method onHandleIntent (line 75) | @Override
    method handleNewGroupChatInvitation (line 113) | private void handleNewGroupChatInvitation(Intent invitation, String ch...
    method handleNewGroupChatMessage (line 134) | private void handleNewGroupChatMessage(Intent newGroupChatMessage, Str...
    method forwardGCMessage2UI (line 148) | private void forwardGCMessage2UI(Intent newGroupChatMessage, ChatMessa...
    method forwardGCInvitation2UI (line 182) | private void forwardGCInvitation2UI(Intent invitation, String chatId, ...
    method buildNotification (line 218) | private Notification buildNotification(PendingIntent invitation, Strin...

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatInvitationReceiver.java
  class GroupChatInvitationReceiver (line 30) | public class GroupChatInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatMessageReceiver.java
  class GroupChatMessageReceiver (line 30) | public class GroupChatMessageReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/group/InitiateGroupChat.java
  class InitiateGroupChat (line 52) | public class InitiateGroupChat extends RcsActivity implements OnItemClic...
    method onCreate (line 62) | @Override
    method onClick (line 122) | public void onClick(View v) {
    method onItemClick (line 132) | public void onItemClick(AdapterView<?> adapterView, View view, int pos...

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/group/SendGroupFile.java
  class SendGroupFile (line 48) | public class SendGroupFile extends SendFile {
    method onCreate (line 58) | @Override
    method startActivity (line 70) | public static void startActivity(Context context, String chatId) {
    method transferFile (line 76) | @Override
    method addFileTransferEventListener (line 101) | @Override
    method removeFileTransferEventListener (line 107) | @Override
    method initialize (line 113) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/single/InitiateSingleChat.java
  class InitiateSingleChat (line 55) | public class InitiateSingleChat extends RcsActivity {
    method onCreate (line 69) | @Override
    method onDestroy (line 89) | @Override
    method initialize (line 102) | private void initialize() {
    method getSelectedContact (line 160) | private ContactId getSelectedContact() {

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/single/SendSingleFile.java
  class SendSingleFile (line 48) | public class SendSingleFile extends SendFile {
    method onCreate (line 58) | @Override
    method startActivity (line 70) | public static void startActivity(Context context, ContactId contact) {
    method transferFile (line 76) | @Override
    method addFileTransferEventListener (line 99) | @Override
    method removeFileTransferEventListener (line 105) | @Override
    method initialize (line 111) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/single/SingleChatIntentService.java
  class SingleChatIntentService (line 51) | public class SingleChatIntentService extends IntentService {
    method SingleChatIntentService (line 67) | public SingleChatIntentService() {
    method onCreate (line 71) | @Override
    method onStartCommand (line 77) | @Override
    method onHandleIntent (line 84) | @Override
    method handleUndeliveredMessage (line 112) | private void handleUndeliveredMessage(Intent intent, String msgId) {
    method handleNewOneToOneChatMessage (line 131) | private void handleNewOneToOneChatMessage(Intent messageIntent, String...
    method forwardSingleChatMessage2UI (line 157) | private void forwardSingleChatMessage2UI(Intent messageIntent, ChatMes...
    method forwardUndeliveredMessage2UI (line 192) | private void forwardUndeliveredMessage2UI(Intent undeliveredMessageInt...
    method buildNotification (line 216) | private Notification buildNotification(PendingIntent invitation, Strin...
    method getUndelivered (line 237) | public static Set<String> getUndelivered(Context ctx, ContactId contac...

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/single/SingleChatInvitationReceiver.java
  class SingleChatInvitationReceiver (line 30) | public class SingleChatInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/chat/single/UndeliveredMessageReceiver.java
  class UndeliveredMessageReceiver (line 30) | public class UndeliveredMessageReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/AudioMediaPlayer.java
  class AudioMediaPlayer (line 35) | public class AudioMediaPlayer extends MediaPlayer {
    method AudioMediaPlayer (line 45) | public AudioMediaPlayer(Context ctx, Uri file, IAudioPlayerListener li...
    method startPlay (line 55) | public void startPlay() throws IOException {
    method stopPlay (line 80) | public void stopPlay() {
    method getDuration (line 95) | public static long getDuration(Context ctx, Uri file) {
    type IAudioPlayerListener (line 108) | public interface IAudioPlayerListener {
      method onCompletion (line 112) | void onCompletion();

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/AudioMessageRecordActivity.java
  class AudioMessageRecordActivity (line 49) | public class AudioMessageRecordActivity extends RcsActivity {
    method onCreate (line 65) | @Override
    method onDestroy (line 80) | @Override
    method deleteAudioRecord (line 92) | private boolean deleteAudioRecord(Uri file) {
    method onKeyDown (line 97) | @Override
    method displayAudioFileInfo (line 115) | private void displayAudioFileInfo() {
    method initialize (line 127) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/AudioRecorder.java
  class AudioRecorder (line 31) | public class AudioRecorder extends MediaRecorder {
    method AudioRecorder (line 51) | public AudioRecorder(long maxAudioDuration, IAudioMessageRecordListene...
    method createMediaRecorder (line 56) | private MediaRecorder createMediaRecorder() {
    method launchRecord (line 83) | public void launchRecord() throws IOException {
    method stopRecord (line 93) | public void stopRecord() {
    method createAudioUri (line 106) | private Uri createAudioUri() {
    method getFile (line 116) | public Uri getFile() {
    type IAudioMessageRecordListener (line 123) | public interface IAudioMessageRecordListener {
      method onMaxDurationReached (line 127) | void onMaxDurationReached();
    method getAudioDirectory (line 135) | private String getAudioDirectory() {

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferDAO.java
  class FileTransferDAO (line 41) | public class FileTransferDAO implements Parcelable {
    method getIconMimeType (line 67) | public String getIconMimeType() {
    method getState (line 71) | public FileTransfer.State getState() {
    method getReadStatus (line 75) | public ReadStatus getReadStatus() {
    method getTimestampSent (line 79) | public long getTimestampSent() {
    method getTimestampDelivered (line 83) | public long getTimestampDelivered() {
    method getTimestampDisplayed (line 87) | public long getTimestampDisplayed() {
    method getSizeTransferred (line 91) | public long getSizeTransferred() {
    method getTransferId (line 95) | public String getTransferId() {
    method getContact (line 99) | public ContactId getContact() {
    method getFile (line 103) | public Uri getFile() {
    method getFilename (line 107) | public String getFilename() {
    method getChatId (line 111) | public String getChatId() {
    method getMimeType (line 115) | public String getMimeType() {
    method getDirection (line 119) | public Direction getDirection() {
    method getTimestamp (line 123) | public long getTimestamp() {
    method getSize (line 127) | public long getSize() {
    method getThumbnail (line 131) | public Uri getThumbnail() {
    method getDisposition (line 135) | public FileTransfer.Disposition getDisposition() {
    method getFileExpiration (line 144) | public long getFileExpiration() {
    method getFileIconExpiration (line 153) | public long getFileIconExpiration() {
    method getReasonCode (line 157) | public FileTransfer.ReasonCode getReasonCode() {
    method FileTransferDAO (line 161) | private FileTransferDAO(FileTransfer.Disposition disposition, String t...
    method FileTransferDAO (line 197) | public FileTransferDAO(Parcel source) {
    method toString (line 242) | @Override
    method describeContents (line 250) | @Override
    method writeToParcel (line 255) | @Override
    method createFromParcel (line 302) | @Override
    method newArray (line 307) | @Override
    method getFileTransferDAO (line 320) | public static FileTransferDAO getFileTransferDAO(final Context context,
    method isOneToOne (line 396) | public boolean isOneToOne() {
    method isExpiredDelivery (line 400) | public boolean isExpiredDelivery() {

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferIntentService.java
  class FileTransferIntentService (line 54) | public class FileTransferIntentService extends IntentService {
    method FileTransferIntentService (line 67) | public FileTransferIntentService() {
    method onStartCommand (line 71) | @Override
    method onHandleIntent (line 80) | @Override
    method handleFileTransferResume (line 111) | private void handleFileTransferResume(Intent intent, String transferId) {
    method handleFileTransferInvitation (line 125) | private void handleFileTransferInvitation(Intent intent, String transf...
    method forwardFileTransferInvitationToUi (line 146) | private void forwardFileTransferInvitationToUi(Intent invitation, File...
    method handleUndeliveredFileTransfer (line 175) | private void handleUndeliveredFileTransfer(Intent intent, String trans...
    method forwardUndeliveredFileTransferToUi (line 189) | private void forwardUndeliveredFileTransferToUi(Intent undeliveredInte...
    method buildNotification (line 214) | private Notification buildNotification(PendingIntent pendingIntent, St...
    method getUndelivered (line 235) | public static Set<String> getUndelivered(Context ctx, ContactId contac...

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferInvitationReceiver.java
  class FileTransferInvitationReceiver (line 30) | public class FileTransferInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 31) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferLogView.java
  class FileTransferLogView (line 41) | public class FileTransferLogView extends RcsActivity {
    method onCreate (line 68) | @Override
    method initialize (line 76) | private void initialize() {
    method getDateFromDb (line 101) | private String getDateFromDb(long timestamp) {
    method onResume (line 111) | @Override
    method startActivity (line 155) | public static void startActivity(Context context, String fileTransferI...

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferResumeReceiver.java
  class FileTransferResumeReceiver (line 30) | public class FileTransferResumeReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferServiceConfigActivity.java
  class FileTransferServiceConfigActivity (line 49) | public class FileTransferServiceConfigActivity extends RcsActivity {
    method onCreate (line 67) | @Override
    method onResume (line 164) | @Override
    method displayFileTransferServiceConfig (line 177) | private void displayFileTransferServiceConfig() throws RcsServiceExcep...

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/InitiateFileTransfer.java
  class InitiateFileTransfer (line 74) | public class InitiateFileTransfer extends RcsActivity {
    method onCreate (line 111) | @Override
    method onDestroy (line 174) | @Override
    method initiateTransfer (line 190) | private void initiateTransfer(ContactId remote) {
    method selectDocument (line 227) | private void selectDocument() {
    method displaySelectedFileInfo (line 251) | private void displaySelectedFileInfo() {
    method onActivityResult (line 264) | @Override
    method updateProgressBar (line 307) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 313) | private void quitSession() {
    method onKeyDown (line 331) | @Override
    method onCreateOptionsMenu (line 364) | @Override
    method onPrepareOptionsMenu (line 371) | @Override
    method onOptionsItemSelected (line 378) | @Override
    method displayFileExpiration (line 392) | private void displayFileExpiration(long fileExpiration) {
    method intitialize (line 405) | private void intitialize() {
    method forgeResumeIntent (line 626) | public static Intent forgeResumeIntent(Context ctx, FileTransferDAO ft...

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/ReceiveFileTransfer.java
  class ReceiveFileTransfer (line 89) | public class ReceiveFileTransfer extends RcsActivity {
    method onCreate (line 116) | @Override
    method onNewIntent (line 144) | @Override
    method onDestroy (line 150) | @Override
    method processIntent (line 167) | boolean processIntent(Intent intent, boolean newIntent) {
    method acceptInvitation (line 304) | private void acceptInvitation() {
    method rejectInvitation (line 315) | private void rejectInvitation() {
    method updateProgressBar (line 326) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 332) | private void quitSession() {
    method onKeyDown (line 347) | @Override
    method onCreateOptionsMenu (line 380) | @Override
    method onOptionsItemSelected (line 387) | @Override
    method isFileSizeExceeded (line 403) | private boolean isFileSizeExceeded(long size) {
    method getExternalStorageFreeSpace (line 419) | @SuppressWarnings("deprecation")
    type FileCapacity (line 431) | private enum FileCapacity {
    method isFileCapacityAcceptable (line 441) | private FileCapacity isFileCapacityAcceptable(long fileSize) {
    method isCapacityOk (line 459) | private boolean isCapacityOk(long fileSize) {
    method onTransferStateChangedUpdateUI (line 482) | private void onTransferStateChangedUpdateUI(String transferId, final F...
    method displayTransferredFile (line 531) | private void displayTransferredFile() {
    method onTransferProgressUpdateUI (line 560) | private void onTransferProgressUpdateUI(final long currentSize, final ...
    method initialize (line 568) | private void initialize() {
    method forgeInvitationIntent (line 722) | public static Intent forgeInvitationIntent(Context ctx, FileTransferDA...
    method forgeResumeIntent (line 740) | public static Intent forgeResumeIntent(Context ctx, FileTransferDAO ft...

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/TestFileTransferApi.java
  class TestFileTransferApi (line 36) | public class TestFileTransferApi extends ListActivity {
    method onCreate (line 37) | @Override
    method onListItemClick (line 52) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/UndeliveredFileReceiver.java
  class UndeliveredFileReceiver (line 30) | public class UndeliveredFileReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/FileTransferProperties.java
  class FileTransferProperties (line 26) | public class FileTransferProperties {
    method FileTransferProperties (line 46) | public FileTransferProperties(Uri uri, String filename, long size, Str...
    method getUri (line 58) | public Uri getUri() {
    method isFileicon (line 67) | public boolean isFileicon() {
    method setFileicon (line 76) | public void setFileicon(boolean fileicon) {
    method getFilename (line 83) | public String getFilename() {
    method getStatus (line 92) | public String getStatus() {
    method setStatus (line 101) | public void setStatus(String status) {
    method getProgress (line 110) | public int getProgress() {
    method setProgress (line 119) | public void setProgress(int progress) {
    method getSize (line 128) | public long getSize() {
    method getReasonCode (line 137) | public String getReasonCode() {
    method setReasonCode (line 146) | public void setReasonCode(String reasonCode) {
    method getMimeType (line 155) | public String getMimeType() {
    method isAudioMessage (line 164) | public boolean isAudioMessage() {
    method setAudioMessage (line 173) | public void setAudioMessage(boolean audioMessage) {

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/ISendMultiFile.java
  type ISendMultiFile (line 29) | public interface ISendMultiFile {
    method initialize (line 34) | void initialize();
    method transferFiles (line 42) | boolean transferFiles(List<FileTransferProperties> files);
    method addFileTransferEventListener (line 50) | void addFileTransferEventListener(FileTransferService fileTransferServ...
    method removeFileTransferEventListener (line 59) | void removeFileTransferEventListener(FileTransferService fileTransferS...
    method checkPermissionToSendFile (line 69) | boolean checkPermissionToSendFile(String chatId) throws RcsServiceExce...

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/SendMultiFile.java
  class SendMultiFile (line 71) | public abstract class SendMultiFile extends RcsActivity implements ISend...
    method onCreate (line 100) | @Override
    method parseIntent (line 157) | private boolean parseIntent(Intent intent) {
    method onDestroy (line 203) | @Override
    method initiateTransfer (line 215) | private void initiateTransfer() {
    method hideProgressDialog (line 259) | protected void hideProgressDialog() {
    method updateProgressBar (line 273) | protected void updateProgressBar(Integer position, long currentSize, l...
    method quitSession (line 281) | private void quitSession() {
    method isThereAnyOnGoingSession (line 304) | private boolean isThereAnyOnGoingSession() {
    method onCreateOptionsMenu (line 320) | @Override
    method onOptionsItemSelected (line 327) | @Override
    method startActivity (line 345) | public static void startActivity(Context context, Intent intent, boole...
    class FileTransferAdapter (line 360) | protected class FileTransferAdapter extends ArrayAdapter<FileTransferP...
      method FileTransferAdapter (line 373) | public FileTransferAdapter(Context context, int layoutResourceId,
      class ViewHolder (line 381) | private class ViewHolder {
        method ViewHolder (line 391) | ViewHolder(View view) {
      method getView (line 403) | @Override
    method isFileTransferFinished (line 454) | private boolean isFileTransferFinished(FileTransfer fileTransfer) thro...
    method closeDialogIfMultipleFileTransferIsFinished (line 466) | protected void closeDialogIfMultipleFileTransferIsFinished() {

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/SendMultiFileGroupChat.java
  class SendMultiFileGroupChat (line 40) | public class SendMultiFileGroupChat extends SendMultiFile implements ISe...
    method transferFiles (line 47) | @Override
    method addFileTransferEventListener (line 76) | @Override
    method removeFileTransferEventListener (line 85) | @Override
    method checkPermissionToSendFile (line 94) | @Override
    method initialize (line 99) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/SendMultiFileSingleChat.java
  class SendMultiFileSingleChat (line 40) | public class SendMultiFileSingleChat extends SendMultiFile implements IS...
    method transferFiles (line 47) | @Override
    method addFileTransferEventListener (line 75) | @Override
    method removeFileTransferEventListener (line 84) | @Override
    method checkPermissionToSendFile (line 93) | @Override
    method initialize (line 99) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/geoloc/DisplayGeoloc.java
  class DisplayGeoloc (line 57) | public class DisplayGeoloc extends FragmentActivity implements OnMapRead...
    method onCreate (line 80) | @Override
    method onMapReady (line 97) | @Override
    method getLastGeoloc (line 128) | private static Geoloc getLastGeoloc(Context ctx, ContactId contact) {
    method getMyLastGeoloc (line 151) | private static Geoloc getMyLastGeoloc(Context ctx) {
    method showContactsOnMap (line 177) | public static void showContactsOnMap(Context ctx, Set<ContactId> conta...
    method showContactOnMap (line 205) | public static void showContactOnMap(Context ctx, ContactId contact) {
    method showContactOnMap (line 218) | public static void showContactOnMap(Context ctx, ContactId contact, Ge...

FILE: RI/src/com/gsma/rcs/ri/messaging/geoloc/EditGeoloc.java
  class EditGeoloc (line 50) | public class EditGeoloc extends RcsActivity {
    method onCreate (line 72) | @Override
    method setMyLocation (line 114) | protected void setMyLocation() {
    method onClick (line 136) | public void onClick(View v) {
    method onClick (line 163) | public void onClick(View v) {
    method onActivityResult (line 170) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/geoloc/SelectGeoloc.java
  class SelectGeoloc (line 38) | public class SelectGeoloc extends FragmentActivity implements OnMapReady...
    method onCreate (line 41) | @Override
    method onMapReady (line 51) | @Override
    method onMapClick (line 56) | @Override

FILE: RI/src/com/gsma/rcs/ri/messaging/geoloc/ShowGeoloc.java
  class ShowGeoloc (line 38) | public class ShowGeoloc extends Activity {
    method onCreate (line 49) | @Override
    method onClick (line 77) | public void onClick(View v) {
    method ShowGeolocForContact (line 82) | public static void ShowGeolocForContact(Context ctx, ContactId contact...

FILE: RI/src/com/gsma/rcs/ri/permissions/PermissionsActivity.java
  class PermissionsActivity (line 47) | public class PermissionsActivity extends RcsListActivity {
    method onCreate (line 70) | @Override
    method onSaveInstanceState (line 107) | @Override
    method onRequestPermissionsResult (line 115) | @Override
    method askPermissions (line 140) | private void askPermissions() {
    method getNotGrantedPermissions (line 156) | private Set<String> getNotGrantedPermissions() {
    method displayUngrantedPermissions (line 167) | private void displayUngrantedPermissions() {

FILE: RI/src/com/gsma/rcs/ri/service/RegistrationStatus.java
  class RegistrationStatus (line 42) | public class RegistrationStatus extends RcsActivity {
    method onCreate (line 50) | @Override
    method onDestroy (line 74) | @Override
    method onResume (line 86) | @Override
    class MyRegistrationListener (line 99) | private class MyRegistrationListener extends RcsServiceRegistrationLis...
      method onServiceRegistered (line 101) | public void onServiceRegistered() {
      method onServiceUnregistered (line 110) | public void onServiceUnregistered(RcsServiceRegistration.ReasonCode ...
    method displayRegistrationStatus (line 119) | private void displayRegistrationStatus(boolean status) {

FILE: RI/src/com/gsma/rcs/ri/service/ServiceConfigurationActivity.java
  class ServiceConfigurationActivity (line 52) | public class ServiceConfigurationActivity extends RcsActivity {
    method getMinimumBatteryLevelFromSpinnerPosition (line 81) | private MinimumBatteryLevel getMinimumBatteryLevelFromSpinnerPosition(...
    method getSpinnerPositionFromMinimumBatteryLevel (line 85) | private int getSpinnerPositionFromMinimumBatteryLevel(MinimumBatteryLe...
    method onCreate (line 89) | @Override
    method onDestroy (line 193) | @Override
    method onResume (line 202) | @Override
    method displayServiceConfiguration (line 211) | private void displayServiceConfiguration() {
    method setDisplayName (line 236) | private void setDisplayName(String newDisplayName) {

FILE: RI/src/com/gsma/rcs/ri/service/ServiceStatus.java
  class ServiceStatus (line 50) | public class ServiceStatus extends RcsActivity implements RcsServiceList...
    method onCreate (line 64) | @Override
    method displayServiceActivation (line 111) | private void displayServiceActivation() {
    method displayServiceStarted (line 120) | private void displayServiceStarted() {
    method onDestroy (line 129) | @Override
    method onServiceConnected (line 149) | public void onServiceConnected() {
    method onServiceDisconnected (line 160) | public void onServiceDisconnected(ReasonCode error) {
    method displayServiceBinding (line 170) | private void displayServiceBinding(boolean status) {
    method onReceive (line 178) | @Override

FILE: RI/src/com/gsma/rcs/ri/service/TestServiceApi.java
  class TestServiceApi (line 36) | public class TestServiceApi extends ListActivity {
    method onCreate (line 38) | @Override
    method onListItemClick (line 54) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/SharingListView.java
  class SharingListView (line 102) | public class SharingListView extends RcsFragmentActivity implements
    class ViewHolder (line 154) | private class ViewHolder {
      method ViewHolder (line 170) | public ViewHolder(View view, Cursor cursor) {
      method getColumnProviderIdIdx (line 187) | public int getColumnProviderIdIdx() {
      method getColumnContactIdx (line 191) | public int getColumnContactIdx() {
      method getColumnTimestampIdx (line 195) | public int getColumnTimestampIdx() {
      method getColumnStatusIdx (line 199) | public int getColumnStatusIdx() {
      method getColumnDirectionIdx (line 203) | public int getColumnDirectionIdx() {
      method getTypeView (line 207) | public TextView getTypeView() {
      method getContactView (line 211) | public TextView getContactView() {
      method getDescriptionView (line 215) | public TextView getDescriptionView() {
      method getDateView (line 219) | public TextView getDateView() {
      method getDirectionIconImageView (line 223) | public ImageView getDirectionIconImageView() {
      method getColumnFilenameIdx (line 227) | public int getColumnFilenameIdx() {
      method getColumnDurationIdx (line 231) | public int getColumnDurationIdx() {
      method getColumnContentIdx (line 235) | public int getColumnContentIdx() {
    class SharingLogAdapter (line 240) | private class SharingLogAdapter extends CursorAdapter {
      method SharingLogAdapter (line 248) | public SharingLogAdapter(Activity activity) {
      method getItemViewType (line 259) | @Override
      method getViewTypeCount (line 264) | @Override
      method newView (line 269) | @Override
      method bindView (line 276) | @Override
    method onCreate (line 346) | @Override
    method onResume (line 354) | @Override
    method initialize (line 360) | private void initialize() {
    method onDestroy (line 452) | @Override
    method onCreateOptionsMenu (line 470) | @Override
    method onOptionsItemSelected (line 476) | @Override
    method onCreateContextMenu (line 537) | @Override
    method onContextItemSelected (line 563) | @Override
    method getOnItemClickListener (line 620) | private OnItemClickListener getOnItemClickListener() {
    method getSelectedContact (line 645) | private String getSelectedContact() {
    method queryHistoryLogAndRefreshView (line 657) | private void queryHistoryLogAndRefreshView() {
    method truncateString (line 686) | private String truncateString(String in, int maxLength) {
    method setProviders (line 698) | private void setProviders(TreeMap<Integer, String> providers) {
    method getSelectedProviderIds (line 717) | private List<Integer> getSelectedProviderIds() {
    method createSharingLogUri (line 733) | private Uri createSharingLogUri(List<Integer> providerIds) {
    method setCursorLoader (line 741) | private void setCursorLoader(boolean firstLoad) {
    method onCreateLoader (line 751) | @Override
    method onLoadFinished (line 772) | @Override
    method onLoaderReset (line 789) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/TestSharingApi.java
  class TestSharingApi (line 39) | public class TestSharingApi extends ListActivity {
    method onCreate (line 40) | @Override
    method onListItemClick (line 60) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingDAO.java
  class GeolocSharingDAO (line 40) | public class GeolocSharingDAO {
    method GeolocSharingDAO (line 60) | private GeolocSharingDAO(String sharingId, ContactId contact, State st...
    method getSharingId (line 72) | public String getSharingId() {
    method getState (line 76) | public GeolocSharing.State getState() {
    method getContent (line 80) | public String getContent() {
    method getContact (line 84) | public ContactId getContact() {
    method getMimeType (line 88) | public String getMimeType() {
    method getDirection (line 92) | public Direction getDirection() {
    method getTimestamp (line 96) | public long getTimestamp() {
    method getReasonCode (line 100) | public ReasonCode getReasonCode() {
    method getGeolocSharing (line 111) | public static GeolocSharingDAO getGeolocSharing(Context ctx, String sh...

FILE: RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingIntentService.java
  class GeolocSharingIntentService (line 44) | public class GeolocSharingIntentService extends IntentService {
    method GeolocSharingIntentService (line 54) | public GeolocSharingIntentService() {
    method onStartCommand (line 58) | @Override
    method onHandleIntent (line 67) | @Override
    method addGeolocSharingInvitationNotification (line 115) | private void addGeolocSharingInvitationNotification(Intent invitation,...

FILE: RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingInvitationReceiver.java
  class GeolocSharingInvitationReceiver (line 30) | public class GeolocSharingInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingLogView.java
  class GeolocSharingLogView (line 38) | public class GeolocSharingLogView extends RcsActivity {
    method onCreate (line 51) | @Override
    method initialize (line 59) | private void initialize() {
    method getDateFromDb (line 69) | private String getDateFromDb(long timestamp) {
    method onResume (line 79) | @Override
    method startActivity (line 102) | public static void startActivity(Context context, String sharingId) {

FILE: RI/src/com/gsma/rcs/ri/sharing/geoloc/InitiateGeolocSharing.java
  class InitiateGeolocSharing (line 68) | public class InitiateGeolocSharing extends RcsActivity {
    method onCreate (line 97) | @Override
    method onDestroy (line 116) | @Override
    method onActivityResult (line 128) | @Override
    method updateProgressBar (line 144) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 155) | private void quitSession() {
    method onKeyDown (line 170) | @Override
    method onCreateOptionsMenu (line 179) | @Override
    method onOptionsItemSelected (line 186) | @Override
    method initialize (line 196) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/sharing/geoloc/ReceiveGeolocSharing.java
  class ReceiveGeolocSharing (line 62) | public class ReceiveGeolocSharing extends RcsActivity {
    method onCreate (line 86) | @Override
    method onDestroy (line 103) | @Override
    method onNewIntent (line 116) | @Override
    method processIntent (line 123) | private void processIntent(Intent invitation) {
    method initiateGeolocSharing (line 129) | private void initiateGeolocSharing() {
    method acceptInvitation (line 165) | private void acceptInvitation() {
    method rejectInvitation (line 173) | private void rejectInvitation() {
    method updateProgressBar (line 181) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 187) | private void quitSession() {
    method onKeyDown (line 201) | @Override
    method onCreateOptionsMenu (line 210) | @Override
    method onOptionsItemSelected (line 217) | @Override
    method initialize (line 227) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingDAO.java
  class ImageSharingDAO (line 40) | public class ImageSharingDAO implements Parcelable {
    method ImageSharingDAO (line 66) | private ImageSharingDAO(String sharingId, ContactId contact, Uri file,...
    method ImageSharingDAO (line 87) | public ImageSharingDAO(Parcel source) {
    method writeToParcel (line 111) | @Override
    method getState (line 141) | public ImageSharing.State getState() {
    method getSizeTransferred (line 150) | public long getSizeTransferred() {
    method getSharingId (line 159) | public String getSharingId() {
    method getContact (line 168) | public ContactId getContact() {
    method getFile (line 177) | public Uri getFile() {
    method getFilename (line 186) | public String getFilename() {
    method getMimeType (line 195) | public String getMimeType() {
    method getDirection (line 199) | public Direction getDirection() {
    method getTimestamp (line 208) | public long getTimestamp() {
    method getSize (line 217) | public long getSize() {
    method getReasonCode (line 226) | public ImageSharing.ReasonCode getReasonCode() {
    method getImageSharingDAO (line 237) | public static ImageSharingDAO getImageSharingDAO(Context ctx, String s...
    method toString (line 281) | @Override
    method describeContents (line 288) | @Override
    method createFromParcel (line 297) | @Override
    method newArray (line 302) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingIntentService.java
  class ImageSharingIntentService (line 45) | public class ImageSharingIntentService extends IntentService {
    method ImageSharingIntentService (line 55) | public ImageSharingIntentService() {
    method onStartCommand (line 59) | @Override
    method onHandleIntent (line 67) | @Override
    method addImageSharingInvitationNotification (line 111) | private void addImageSharingInvitationNotification(Intent invitation, ...

FILE: RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingInvitationReceiver.java
  class ImageSharingInvitationReceiver (line 30) | public class ImageSharingInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingLogView.java
  class ImageSharingLogView (line 38) | public class ImageSharingLogView extends RcsActivity {
    method onCreate (line 53) | @Override
    method initialize (line 61) | private void initialize() {
    method getDateFromDb (line 74) | private String getDateFromDb(long timestamp) {
    method onResume (line 84) | @Override
    method startActivity (line 110) | public static void startActivity(Context context, String sharingId) {

FILE: RI/src/com/gsma/rcs/ri/sharing/image/InitiateImageSharing.java
  class InitiateImageSharing (line 71) | public class InitiateImageSharing extends RcsActivity {
    method onCreate (line 104) | @Override
    method onDestroy (line 124) | @Override
    method onActivityResult (line 137) | @Override
    method updateProgressBar (line 155) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 166) | private void quitSession() {
    method onKeyDown (line 182) | @Override
    method onCreateOptionsMenu (line 214) | @Override
    method onOptionsItemSelected (line 221) | @Override
    method initialize (line 231) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/sharing/image/ReceiveImageSharing.java
  class ReceiveImageSharing (line 62) | public class ReceiveImageSharing extends RcsActivity {
    method onCreate (line 87) | @Override
    method onDestroy (line 103) | @Override
    method onNewIntent (line 116) | @Override
    method processIntent (line 123) | private void processIntent(Intent invitation) {
    method initiateImageSharing (line 129) | private void initiateImageSharing() {
    method acceptInvitation (line 168) | private void acceptInvitation() {
    method rejectInvitation (line 176) | private void rejectInvitation() {
    method updateProgressBar (line 184) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 190) | private void quitSession() {
    method onKeyDown (line 205) | @Override
    method onCreateOptionsMenu (line 237) | @Override
    method onOptionsItemSelected (line 244) | @Override
    method intitialize (line 254) | private void intitialize() {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/IncomingVideoSharing.java
  class IncomingVideoSharing (line 67) | public class IncomingVideoSharing extends RcsActivity implements VideoPl...
    method onCreate (line 119) | @Override
    method onDestroy (line 177) | @Override
    method onSaveInstanceState (line 204) | @Override
    method startOrRestartVideoSharing (line 211) | private void startOrRestartVideoSharing() {
    method showReceiveNotification (line 240) | private void showReceiveNotification(String from) {
    method acceptInvitation (line 254) | private void acceptInvitation() {
    method rejectInvitation (line 266) | private void rejectInvitation() {
    method quitSession (line 278) | private void quitSession() {
    method onKeyDown (line 293) | @Override
    method onCreateOptionsMenu (line 325) | @Override
    method onOptionsItemSelected (line 332) | @Override
    method displayVideoFormat (line 342) | private void displayVideoFormat() {
    method onPlayerOpened (line 358) | @Override
    method onPlayerStarted (line 365) | @Override
    method onPlayerStopped (line 372) | @Override
    method onPlayerClosed (line 379) | @Override
    method onPlayerError (line 386) | @Override
    method onPlayerResized (line 394) | @Override
    method initialize (line 405) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/OutgoingVideoSharing.java
  class OutgoingVideoSharing (line 87) | public class OutgoingVideoSharing extends RcsActivity implements VideoPl...
    method onCreate (line 203) | @Override
    method onSaveInstanceState (line 345) | @Override
    method onDestroy (line 357) | @Override
    method onClick (line 377) | public void onClick(View v) {
    method onClick (line 398) | public void onClick(View v) {
    method onClick (line 455) | public void onClick(View v) {
    method quitSession (line 461) | private void quitSession() {
    method onKeyDown (line 479) | @Override
    method onCreateOptionsMenu (line 514) | @Override
    method onOptionsItemSelected (line 521) | @Override
    method openCamera (line 536) | private synchronized void openCamera() {
    method closeCamera (line 558) | private synchronized void closeCamera() {
    method switchCamera (line 578) | private synchronized void switchCamera() {
    method checkCameraSize (line 599) | boolean checkCameraSize(CameraOptions cameraId) {
    method startCameraPreview (line 639) | private void startCameraPreview() {
    method getCameraOpenMethod (line 760) | private Method getCameraOpenMethod() {
    method openCamera (line 780) | private void openCamera(CameraOptions cameraId) {
    method getCameraNumberOfCamerasMethod (line 820) | private Method getCameraNumberOfCamerasMethod() {
    method getNumberOfCameras (line 838) | private int getNumberOfCameras() {
    method onStateChanged (line 857) | @Override
    method onDeleted (line 933) | @Override
    method onPlayerOpened (line 946) | public void onPlayerOpened() {
    method onPlayerStarted (line 955) | public void onPlayerStarted() {
    method onPlayerStopped (line 964) | public void onPlayerStopped() {
    method onPlayerClosed (line 973) | public void onPlayerClosed() {
    method onPlayerError (line 982) | public void onPlayerError() {
    method onPlayerResized (line 992) | public void onPlayerResized(int width, int height) {
    method isPreviewSizeSupported (line 1007) | private boolean isPreviewSizeSupported(Parameters parameters, int widt...
    method surfaceCreated (line 1018) | @Override
    method surfaceChanged (line 1023) | @Override
    method surfaceDestroyed (line 1028) | @Override
    method run (line 1040) | @Override
    method displayVideoFormat (line 1061) | private void displayVideoFormat() {
    method displayRemoteContact (line 1077) | private void displayRemoteContact() {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/VideoSharingDAO.java
  class VideoSharingDAO (line 41) | public class VideoSharingDAO implements Parcelable {
    method VideoSharingDAO (line 65) | private VideoSharingDAO(String sharingId, ContactId contact, VideoShar...
    method VideoSharingDAO (line 85) | public VideoSharingDAO(Parcel source) {
    method getState (line 108) | public VideoSharing.State getState() {
    method getReasonCode (line 117) | public VideoSharing.ReasonCode getReasonCode() {
    method getSharingId (line 126) | public String getSharingId() {
    method getContact (line 135) | public ContactId getContact() {
    method getDirection (line 139) | public Direction getDirection() {
    method getTimestamp (line 148) | public long getTimestamp() {
    method getDuration (line 157) | public long getDuration() {
    method getHeight (line 166) | public int getHeight() {
    method getWidth (line 175) | public int getWidth() {
    method getVideoEncoding (line 184) | public String getVideoEncoding() {
    method toString (line 188) | @Override
    method describeContents (line 194) | @Override
    method writeToParcel (line 199) | @Override
    method createFromParcel (line 222) | @Override
    method newArray (line 227) | @Override
    method getVideoSharingDAO (line 240) | public static VideoSharingDAO getVideoSharingDAO(Context context, Stri...

FILE: RI/src/com/gsma/rcs/ri/sharing/video/VideoSharingIntentService.java
  class VideoSharingIntentService (line 44) | public class VideoSharingIntentService extends IntentService {
    method VideoSharingIntentService (line 54) | public VideoSharingIntentService() {
    method onStartCommand (line 58) | @Override
    method onHandleIntent (line 66) | @Override
    method addVideoSharingInvitationNotification (line 113) | public void addVideoSharingInvitationNotification(Intent invitation, V...

FILE: RI/src/com/gsma/rcs/ri/sharing/video/VideoSharingInvitationReceiver.java
  class VideoSharingInvitationReceiver (line 30) | public class VideoSharingInvitationReceiver extends BroadcastReceiver {
    method onReceive (line 32) | @Override

FILE: RI/src/com/gsma/rcs/ri/sharing/video/VideoSharingLogView.java
  class VideoSharingLogView (line 39) | public class VideoSharingLogView extends RcsActivity {
    method onCreate (line 53) | @Override
    method initialize (line 61) | private void initialize() {
    method getDateFromDb (line 73) | private String getDateFromDb(long timestamp) {
    method onResume (line 83) | @Override
    method startActivity (line 108) | public static void startActivity(Context context, String sharingId) {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/media/FifoBuffer.java
  class FifoBuffer (line 28) | public class FifoBuffer {
    method addObject (line 44) | public synchronized void addObject(Object obj) {
    method getObject (line 55) | public synchronized Object getObject() {
    method getObject (line 80) | public synchronized Object getObject(int timeout) {
    method close (line 101) | public synchronized void close() {
    method size (line 111) | public int size() {
    method clean (line 120) | public void clean(int size) {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/media/OriginatingVideoPlayer.java
  class OriginatingVideoPlayer (line 54) | public class OriginatingVideoPlayer extends VideoPlayer implements Camer...
    method OriginatingVideoPlayer (line 159) | public OriginatingVideoPlayer(VideoPlayerListener eventListener) {
    method setRemoteInfo (line 184) | public void setRemoteInfo(VideoCodec codec, String remoteHost, int rem...
    method getLocalRtpPort (line 202) | public int getLocalRtpPort() {
    method getSupportedCodecs (line 211) | public VideoCodec[] getSupportedCodecs() {
    method getCodec (line 222) | public VideoCodec getCodec() {
    method open (line 229) | public synchronized void open() {
    method close (line 289) | public synchronized void close() {
    method start (line 313) | public synchronized void start() {
    method stop (line 348) | public synchronized void stop() {
    method reservePort (line 373) | private void reservePort(int port) {
    method releasePort (line 388) | private void releasePort() {
    method getVideoStartTime (line 403) | public long getVideoStartTime() {
    method initNAL (line 412) | private boolean initNAL() {
    method initOneNAL (line 425) | private boolean initOneNAL() {
    method getVideoWidth (line 445) | public int getVideoWidth() {
    method getVideoHeight (line 458) | public int getVideoHeight() {
    method setOrientationHeaderId (line 471) | public void setOrientationHeaderId(int headerId) {
    method setOrientation (line 480) | public void setOrientation(Orientation orientation) {
    method setCameraId (line 489) | public void setCameraId(int cameraId) {
    method setMirroring (line 498) | public void setMirroring(boolean mirroring) {
    method rtpStreamAborted (line 505) | public void rtpStreamAborted() {
    method onPreviewFrame (line 516) | public void onPreviewFrame(byte[] data, Camera camera) {
    method encode (line 528) | private void encode(byte[] data) {
    class FrameProcess (line 569) | private class FrameProcess extends Thread {
      method FrameProcess (line 581) | public FrameProcess(int framerate) {
      method run (line 586) | @Override
    class FrameBuffer (line 613) | private class FrameBuffer {
      method getData (line 639) | public synchronized byte[] getData() {
      method setData (line 648) | public synchronized void setData(byte[] data) {
    class MediaRtpInput (line 661) | private static class MediaRtpInput implements MediaInput {
      method MediaRtpInput (line 670) | public MediaRtpInput() {
      method addFrame (line 681) | public void addFrame(byte[] data, long timestamp, VideoOrientation v...
      method addFrame (line 695) | public void addFrame(byte[] data, long timestamp) {
      method open (line 702) | public void open() {
      method close (line 709) | public void close() {
      method readSample (line 722) | public VideoSample readSample() throws MediaException {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/media/TerminatingVideoPlayer.java
  class TerminatingVideoPlayer (line 55) | public class TerminatingVideoPlayer extends VideoPlayer implements RtpSt...
    method TerminatingVideoPlayer (line 115) | public TerminatingVideoPlayer(VideoSurfaceView surface, VideoPlayerLis...
    method setRemoteInfo (line 143) | public void setRemoteInfo(VideoCodec codec, String remoteHost, int rem...
    method getSupportedCodecs (line 161) | public VideoCodec[] getSupportedCodecs() {
    method getCodec (line 172) | public VideoCodec getCodec() {
    method open (line 179) | public synchronized void open() {
    method close (line 218) | public synchronized void close() {
    method start (line 244) | public synchronized void start() {
    method stop (line 267) | public synchronized void stop() {
    method getVideoStartTime (line 299) | public long getVideoStartTime() {
    method getLocalRtpPort (line 308) | public int getLocalRtpPort() {
    method reservePort (line 317) | private void reservePort(int port) {
    method releasePort (line 331) | private void releasePort() {
    method isOpened (line 346) | public boolean isOpened() {
    method isStarted (line 355) | public boolean isStarted() {
    method rtpStreamAborted (line 362) | public void rtpStreamAborted() {
    method setOrientation (line 371) | public void setOrientation(int orientation) {
    class MediaRtpOutput (line 378) | private class MediaRtpOutput implements MediaOutput {
      method MediaRtpOutput (line 398) | public MediaRtpOutput() {
      method open (line 406) | public void open() {
      method close (line 413) | public void close() {
      method writeSample (line 421) | public void writeSample(MediaSample sample) {
    method setSurface (line 457) | public void setSurface(VideoSurface surface) {

FILE: RI/src/com/gsma/rcs/ri/sharing/video/media/VideoPlayerListener.java
  type VideoPlayerListener (line 26) | public interface VideoPlayerListener {
    method onPlayerOpened (line 30) | public void onPlayerOpened();
    method onPlayerStarted (line 35) | public void onPlayerStarted();
    method onPlayerStopped (line 40) | public void onPlayerStopped();
    method onPlayerClosed (line 45) | public void onPlayerClosed();
    method onPlayerError (line 50) | public void onPlayerError();
    method onPlayerResized (line 55) | public void onPlayerResized(int width, int height);

FILE: RI/src/com/gsma/rcs/ri/sharing/video/media/VideoSurface.java
  type VideoSurface (line 28) | public interface VideoSurface {
    method setImage (line 34) | public void setImage(Bitmap bmp);
    method clearImage (line 39) | public void clearImage();

FILE: RI/src/com/gsma/rcs/ri/sharing/video/media/VideoSurfaceView.java
  class VideoSurfaceView (line 33) | public class VideoSurfaceView extends SurfaceView implements VideoSurface {
    method VideoSurfaceView (line 59) | public VideoSurfaceView(Context context) {
    method VideoSurfaceView (line 71) | public VideoSurfaceView(Context context, AttributeSet attrs) {
    method VideoSurfaceView (line 84) | public VideoSurfaceView(Context context, AttributeSet attrs, int defSt...
    method setAspectRatio (line 96) | public void setAspectRatio(int width, int height) {
    method setAspectRatio (line 105) | public void setAspectRatio(float ratio) {
    method onMeasure (line 119) | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    method setImage (line 149) | public void setImage(Bitmap bmp) {
    method clearImage (line 169) | public void clearImage() {
    method init (line 190) | private void init() {
    method surfaceChanged (line 200) | public void surfaceChanged(SurfaceHolder _holder, int format, int w, i...
    method surfaceCreated (line 203) | public void surfaceCreated(SurfaceHolder _holder) {
    method surfaceDestroyed (line 207) | public void surfaceDestroyed(SurfaceHolder _holder) {

FILE: RI/src/com/gsma/rcs/ri/upload/InitiateFileUpload.java
  class InitiateFileUpload (line 57) | public class InitiateFileUpload extends RcsActivity {
    method onCreate (line 98) | @Override
    method onDestroy (line 136) | @Override
    method onActivityResult (line 149) | @Override
    class MyFileUploadListener (line 170) | private class MyFileUploadListener extends FileUploadListener {
      method onStateChanged (line 177) | @Override
      method onProgressUpdate (line 219) | @Override
      method onUploaded (line 228) | @Override
    method updateProgressBar (line 239) | private void updateProgressBar(long currentSize, long totalSize) {
    method quitSession (line 247) | private void quitSession() {
    method onKeyDown (line 261) | @Override
    method initialize (line 270) | private void initialize() {

FILE: RI/src/com/gsma/rcs/ri/utils/AndroidDatagramConnection.java
  class AndroidDatagramConnection (line 31) | public class AndroidDatagramConnection implements DatagramConnection {
    method AndroidDatagramConnection (line 50) | public AndroidDatagramConnection() {
    method AndroidDatagramConnection (line 60) | public AndroidDatagramConnection(int timeout) {
    method open (line 70) | public void open() throws IOException {
    method open (line 81) | public void open(int port) throws IOException {
    method close (line 91) | public void close() throws IOException {
    method receive (line 104) | public byte[] receive() throws IOException {
    method send (line 126) | public void send(String remoteAddr, int remotePort, byte[] data) throw...
    method getLocalAddress (line 146) | public String getLocalAddress() throws IOException {
    method getLocalPort (line 160) | public int getLocalPort() throws IOException {

FILE: RI/src/com/gsma/rcs/ri/utils/BitmapCache.java
  class BitmapCache (line 26) | public class BitmapCache {
    method BitmapCache (line 31) | private BitmapCache() {
    method getInstance (line 57) | public static BitmapCache getInstance() {
    method getMemoryCache (line 69) | public LruCache<String, BitmapLoader.BitmapCacheInfo> getMemoryCache() {

FILE: RI/src/com/gsma/rcs/ri/utils/BitmapLoader.java
  class BitmapLoader (line 32) | public abstract class BitmapLoader extends AsyncTask<String, Void, Bitma...
    method BitmapLoader (line 42) | public BitmapLoader(Context ctx, LruCache<String, BitmapCacheInfo> mem...
    method onPostExecute (line 52) | @Override
    type SetViewCallback (line 65) | public interface SetViewCallback {
      method loadView (line 66) | void loadView(final BitmapCacheInfo cacheInfo);
    class BitmapCacheInfo (line 75) | public class BitmapCacheInfo {
      method BitmapCacheInfo (line 79) | public BitmapCacheInfo(String filename, Bitmap bitmap) {
      method getBitmap (line 84) | public Bitmap getBitmap() {
      method getFilename (line 88) | public String getFilename() {

FILE: RI/src/com/gsma/rcs/ri/utils/ContactListAdapter.java
  class ContactListAdapter (line 50) | public class ContactListAdapter extends CursorAdapter {
    method createContactListAdapter (line 72) | public static ContactListAdapter createContactListAdapter(Context cont...
    method createContactListAdapter (line 84) | public static ContactListAdapter createContactListAdapter(Context cont...
    method createRcsContactListAdapter (line 136) | public static ContactListAdapter createRcsContactListAdapter(Context c...
    method ContactListAdapter (line 205) | private ContactListAdapter(Context context, Cursor c) {
    method newView (line 209) | @Override
    method newDropDownView (line 217) | @Override
    method bindView (line 226) | @Override
    method formatText (line 243) | private String formatText(Context context, Cursor c, ViewHolder holder) {
    class ViewHolder (line 280) | private class ViewHolder {
      method ViewHolder (line 294) | ViewHolder(Cursor cursor) {
    method getSelectedNumber (line 310) | public String getSelectedNumber(View view) {

FILE: RI/src/com/gsma/rcs/ri/utils/ContactUtil.java
  class ContactUtil (line 30) | public class ContactUtil {
    method formatContact (line 41) | public static ContactId formatContact(String contact) {
    method isValidContact (line 67) | public static boolean isValidContact(String number) {

FILE: RI/src/com/gsma/rcs/ri/utils/DatagramConnection.java
  type DatagramConnection (line 28) | public interface DatagramConnection {
    method open (line 39) | void open() throws IOException;
    method open (line 47) | void open(int port) throws IOException;
    method close (line 54) | void close() throws IOException;
    method send (line 64) | void send(String remoteAddr, int remotePort, byte[] data) throws IOExc...
    method receive (line 72) | byte[] receive() throws IOException;
    method getLocalAddress (line 80) | String getLocalAddress() throws IOException;
    method getLocalPort (line 88) | int getLocalPort() throws IOException;

FILE: RI/src/com/gsma/rcs/ri/utils/FileUtils.java
  class FileUtils (line 41) | public class FileUtils {
    method getPath (line 49) | public static String getPath(final Context context, final Uri uri) {
    method getDataColumn (line 118) | private static String getDataColumn(Context context, Uri uri, String s...
    method isExternalStorageDocument (line 141) | private static boolean isExternalStorageDocument(Uri uri) {
    method isDownloadsDocument (line 149) | private static boolean isDownloadsDocument(Uri uri) {
    method isMediaDocument (line 157) | private static boolean isMediaDocument(Uri uri) {
    method isGooglePhotosUri (line 165) | private static boolean isGooglePhotosUri(Uri uri) {
    method getFileName (line 176) | public static String getFileName(Context context, Uri file) {
    method getFileSize (line 214) | public static long getFileSize(Context ctx, Uri file) throws IllegalAr...
    method getMimeTypeFromFile (line 245) | private static String getMimeTypeFromFile(Context ctx, Uri file) {
    method getMimeType (line 266) | public static String getMimeType(Context ctx, Uri file) {
    method forgeIntentToOpenFile (line 301) | private static Intent forgeIntentToOpenFile() {
    method openFile (line 319) | public static void openFile(Activity activity, String mimeType, int ac...
    method openFiles (line 325) | public static void openFiles(Activity activity, String[] mimeTypes, in...
    method takePersistableContentUriPermission (line 342) | public static void takePersistableContentUriPermission(Context context...
    method humanReadableByteCount (line 360) | public static String humanReadableByteCount(long bytes, boolean si) {

FILE: RI/src/com/gsma/rcs/ri/utils/ImageBitmapLoader.java
  class ImageBitmapLoader (line 34) | public class ImageBitmapLoader extends BitmapLoader {
    method ImageBitmapLoader (line 43) | public ImageBitmapLoader(Context ctx, LruCache<String, BitmapCacheInfo...
    method doInBackground (line 48) | @Override

FILE: RI/src/com/gsma/rcs/ri/utils/ImageUtils.java
  class ImageUtils (line 31) | public class ImageUtils {
    method getImageBitmap2Display (line 42) | public static Bitmap getImageBitmap2Display(String imageFilename) {
    method readImageOptions (line 50) | private static BitmapFactory.Options readImageOptions(String imageFile...
    method getImageBitmap2Display (line 62) | public static Bitmap getImageBitmap2Display(String imageFilename, int ...
    method calculateInSampleSize (line 113) | private static int calculateInSampleSize(BitmapFactory.Options options...
    method getExifOrientation (line 142) | private static int getExifOrientation(String filename) {
    method rotateBitmap (line 175) | private static Bitmap rotateBitmap(Bitmap b, int degrees) {

FILE: RI/src/com/gsma/rcs/ri/utils/LogUtils.java
  class LogUtils (line 24) | public class LogUtils {
    method getTag (line 37) | public static String getTag(final String classname) {

FILE: RI/src/com/gsma/rcs/ri/utils/NetworkRessourceManager.java
  class NetworkRessourceManager (line 28) | public class NetworkRessourceManager {
    method generateLocalRtpPort (line 39) | public static synchronized int generateLocalRtpPort() {
    method generateLocalUdpPort (line 49) | private static int generateLocalUdpPort(int portBase) {
    method isLocalUdpPortFree (line 70) | private static boolean isLocalUdpPortFree(int port) {
    method createDatagramConnection (line 87) | public static DatagramConnection createDatagramConnection() {
    method createDatagramConnection (line 97) | public static DatagramConnection createDatagramConnection(int timeout) {

FILE: RI/src/com/gsma/rcs/ri/utils/RcsContactUtil.java
  class RcsContactUtil (line 49) | public class RcsContactUtil {
    method RcsContactUtil (line 74) | private RcsContactUtil(Context context) {
    method getInstance (line 88) | public static RcsContactUtil getInstance(Context context) {
    method getDisplayNameFromAddressBook (line 100) | private String getDisplayNameFromAddressBook(ContactId contact) {
    method getDisplayName (line 137) | public String getDisplayName(ContactId contact) {
    method getDisplayName (line 180) | public String getDisplayName(String number) {
    method getPhotoFromContactId (line 197) | public Bitmap getPhotoFromContactId(ContactId contact) {

FILE: RI/src/com/gsma/rcs/ri/utils/RcsSessionUtil.java
  class RcsSessionUtil (line 33) | public class RcsSessionUtil {
    method isAllowedToAbortFileTransferSession (line 43) | static public boolean isAllowedToAbortFileTransferSession(FileTransfer...
    method isAllowedToAbortGeolocSharingSession (line 65) | static public boolean isAllowedToAbortGeolocSharingSession(GeolocShari...
    method isAllowedToAbortImageSharingSession (line 86) | static public boolean isAllowedToAbortImageSharingSession(ImageSharing...
    method isAllowedToAbortVideoSharingSession (line 107) | static public boolean isAllowedToAbortVideoSharingSession(VideoSharing...
    method isAllowedToAbortMultimediaSession (line 128) | static public boolean isAllowedToAbortMultimediaSession(MultimediaSess...
    method isAllowedToAbortFileUploadSession (line 149) | static public boolean isAllowedToAbortFileUploadSession(FileUpload ses...

FILE: RI/src/com/gsma/rcs/ri/utils/SmileyParser.java
  class SmileyParser (line 31) | public class SmileyParser extends AbstractMessageParser {
    method SmileyParser (line 35) | public SmileyParser(String text, Smileys res) {
    method getResources (line 46) | @Override
    method getSpannableString (line 57) | public CharSequence getSpannableString(Context context) {

FILE: RI/src/com/gsma/rcs/ri/utils/Smileys.java
  class Smileys (line 43) | public class Smileys implements AbstractMessageParser.Resources {
    method Smileys (line 76) | public Smileys(Context context) {
    method getSmileyRes (line 93) | public int getSmileyRes(String smiley) {
    method getSchemes (line 103) | public Set<String> getSchemes() {
    method getDomainSuffixes (line 107) | public TrieNode getDomainSuffixes() {
    method getSmileys (line 111) | public TrieNode getSmileys() {
    method getAcronyms (line 115) | public TrieNode getAcronyms() {
    method showSmileyDialog (line 128) | public static AlertDialog showSmileyDialog(Context context, final Edit...

FILE: RI/src/com/gsma/rcs/ri/utils/Utils.java
  class Utils (line 40) | public class Utils {
    method getUniqueIdForPendingIntent (line 49) | public static int getUniqueIdForPendingIntent() {
    method displayToast (line 59) | public static void displayToast(Context ctx, String message) {
    method displayLongToast (line 69) | public static void displayLongToast(Context ctx, String message) {
    method showPicture (line 79) | public static void showPicture(final Activity activity, Uri uri) {
    method isImageType (line 92) | public static boolean isImageType(String mime) {
    method isAudioType (line 102) | public static boolean isAudioType(String mime) {
    method isVideoType (line 112) | public static boolean isVideoType(String mime) {
    method playAudio (line 122) | public static void playAudio(final Activity activity, Uri uri) {
    method showList (line 137) | public static AlertDialog showList(Activity activity, String title, Se...
    method getProgressLabel (line 154) | public static String getProgressLabel(long currentSize, long totalSize) {

FILE: core/src/com/gsma/rcs/addressbook/AccountChangedReceiver.java
  class AccountChangedReceiver (line 46) | public class AccountChangedReceiver extends BroadcastReceiver {
    method onReceive (line 54) | @Override
    method isAccountResetByEndUser (line 119) | public static boolean isAccountResetByEndUser() {
    method setAccountResetByEndUser (line 129) | public static void setAccountResetByEndUser(boolean value) {

FILE: core/src/com/gsma/rcs/addressbook/AddressBookEventListener.java
  type AddressBookEventListener (line 32) | public interface AddressBookEventListener {
    method handleAddressBookHasChanged (line 40) | public void handleAddressBookHasChanged() throws ContactManagerExcepti...

FILE: core/src/com/gsma/rcs/addressbook/AddressBookManager.java
  class AddressBookManager (line 54) | public class AddressBookManager {
    method AddressBookManager (line 101) | public AddressBookManager(ContentResolver contentResolver, ContactMana...
    method start (line 112) | public void start() {
    method stop (line 135) | public void stop() {
    method addAddressBookListener (line 157) | public void addAddressBookListener(AddressBookEventListener listener) {
    method removeAddressBookListener (line 166) | public void removeAddressBookListener(AddressBookEventListener listene...
    method removeAllAddressBookListeners (line 173) | public void removeAllAddressBookListeners() {
    class ContactsContractObserver (line 180) | private class ContactsContractObserver extends ContentObserver {
      method ContactsContractObserver (line 182) | public ContactsContractObserver(Handler handler) {
      method onChange (line 186) | @Override
    class CheckHandler (line 205) | private class CheckHandler extends Handler {
      method handleMessage (line 210) | @Override

FILE: core/src/com/gsma/rcs/addressbook/AuthenticationService.java
  class AuthenticationService (line 41) | public class AuthenticationService extends Service {
    method onCreate (line 50) | @Override
    method onBind (line 58) | @Override
    class RcsContactsAccountAuthenticator (line 72) | final static class RcsContactsAccountAuthenticator extends AbstractAcc...
      method RcsContactsAccountAuthenticator (line 75) | public RcsContactsAccountAuthenticator(Context context) {
      method addAccount (line 83) | @Override
      method editProperties (line 102) | @Override
      method confirmCredentials (line 110) | @Override
      method getAuthToken (line 119) | @Override
      method getAuthTokenLabel (line 128) | @Override
      method updateCredentials (line 136) | @Override
      method hasFeatures (line 145) | @Override

FILE: core/src/com/gsma/rcs/addressbook/LocaleManager.java
  class LocaleManager (line 42) | public class LocaleManager {
    method LocaleManager (line 62) | public LocaleManager(Context ctx, Core core, RcsSettings rcsSettings,
    method start (line 74) | public void start() {
    method stop (line 89) | public void stop() {
    class LocaleUpdater (line 97) | private class LocaleUpdater implements Runnable {
      method run (line 99) | @Override
    class LocaleChangedReceiver (line 120) | private class LocaleChangedReceiver extends BroadcastReceiver {
      method onReceive (line 122) | @Override

FILE: core/src/com/gsma/rcs/addressbook/RcsAccountException.java
  class RcsAccountException (line 28) | public class RcsAccountException extends Exception {
    method RcsAccountException (line 36) | public RcsAccountException(String message) {
    method RcsAccountException (line 48) | public RcsAccountException(String message, Throwable cause) {

FILE: core/src/com/gsma/rcs/addressbook/RcsAccountManager.java
  class RcsAccountManager (line 42) | public class RcsAccountManager {
    method RcsAccountManager (line 68) | public RcsAccountManager(Context context, ContactManager contactManage...
    method getInstance (line 82) | public static RcsAccountManager getInstance(Context context, ContactMa...
    method getAccount (line 100) | public Account getAccount(String username) {
    method createRcsAccount (line 116) | public void createRcsAccount(String username, boolean enableSync) thro...
    method isSyncEnabled (line 166) | public boolean isSyncEnabled(String username) {
    method removeRcsAccount (line 179) | public void removeRcsAccount(String excludeUsername) {

FILE: core/src/com/gsma/rcs/addressbook/SetupRcsAccount.java
  class SetupRcsAccount (line 41) | public class SetupRcsAccount extends android.accounts.AccountAuthenticat...
    method onCreate (line 45) | public void onCreate(Bundle icicle) {

FILE: core/src/com/gsma/rcs/addressbook/SyncAdapterService.java
  class SyncAdapterService (line 41) | public class SyncAdapterService extends Service {
    method onCreate (line 55) | @Override
    method onBind (line 63) | @Override
    class RcsContactsSyncAdapter (line 77) | private class RcsContactsSyncAdapter extends AbstractThreadedSyncAdapt...
      method RcsContactsSyncAdapter (line 79) | public RcsContactsSyncAdapter(Context context) {
      method onPerformSync (line 86) | @Override

FILE: core/src/com/gsma/rcs/core/Core.java
  class Core (line 60) | public class Core {
    method getInstance (line 93) | public static Core getInstance() {
    method createCore (line 113) | public static Core createCore(Context ctx, CoreListener listener, RcsS...
    method terminateCore (line 137) | public synchronized static void terminateCore() throws PayloadExceptio...
    method Core (line 159) | private Core(Context ctx, CoreListener listener, ContentResolver conte...
    method initialize (line 185) | public void initialize() {
    method getListener (line 197) | public CoreListener getListener() {
    method getImsModule (line 206) | public ImsModule getImsModule() {
    method scheduleCoreOperation (line 213) | public void scheduleCoreOperation(Runnable task) {
    method isStarted (line 222) | public boolean isStarted() {
    method startCore (line 229) | public synchronized void startCore() {
    method stopCore (line 251) | private void stopCore() throws PayloadException, NetworkException, Con...
    method getCapabilityService (line 283) | public CapabilityService getCapabilityService() {
    method getRichcallService (line 292) | public RichcallService getRichcallService() {
    method getImService (line 301) | public InstantMessagingService getImService() {
    method getSipService (line 310) | public SipService getSipService() {
    method isStopping (line 319) | public boolean isStopping() {
    method setListener (line 328) | public void setListener(CoreListener listener) {

FILE: core/src/com/gsma/rcs/core/CoreException.java
  class CoreException (line 26) | public class CoreException extends java.lang.Exception {
    method CoreException (line 34) | public CoreException(String error) {
    method CoreException (line 44) | public CoreException(String error, Exception exception) {

FILE: core/src/com/gsma/rcs/core/CoreListener.java
  type CoreListener (line 34) | public interface CoreListener {
    method onCoreLayerStarted (line 38) | public void onCoreLayerStarted();
    method onCoreLayerStopped (line 43) | public void onCoreLayerStopped();
    method onRegistrationSuccessful (line 48) | public void onRegistrationSuccessful();
    method onRegistrationFailed (line 55) | public void onRegistrationFailed(ImsError error);
    method onRegistrationTerminated (line 62) | public void onRegistrationTerminated(RcsServiceRegistration.ReasonCode...
    method onUserConfirmationRequest (line 77) | public void onUserConfirmationRequest(ContactId contact, String id, St...
    method onUserConfirmationAck (line 89) | public void onUserConfirmationAck(ContactId contact, String id, String...
    method onUserNotification (line 101) | public void onUserNotification(ContactId contact, String id, String su...
    method onSimChangeDetected (line 107) | public void onSimChangeDetected();

FILE: core/src/com/gsma/rcs/core/FileAccessException.java
  class FileAccessException (line 28) | public class FileAccessException extends Exception {
    method FileAccessException (line 37) | public FileAccessException(String message) {
    method FileAccessException (line 49) | public FileAccessException(String message, Throwable cause) {

FILE: core/src/com/gsma/rcs/core/ParseFailureException.java
  class ParseFailureException (line 25) | public class ParseFailureException extends Exception {
    method ParseFailureException (line 34) | public ParseFailureException(String message) {
    method ParseFailureException (line 46) | public ParseFailureException(String message, Throwable cause) {

FILE: core/src/com/gsma/rcs/core/TerminalInfo.java
  class TerminalInfo (line 39) | public class TerminalInfo {
    method getProductName (line 77) | public static String getProductName() {
    method getProductVersion (line 86) | public static String getProductVersion(Context ctx) {
    method getProductInfo (line 107) | public static String getProductInfo() {
    method getClientVersion (line 121) | public static String getClientVersion(Context ctx) {
    method getClientVendor (line 133) | public static String getClientVendor() {
    method getTerminalVendor (line 142) | public static String getTerminalVendor() {
    method getTerminalModel (line 151) | public static String getTerminalModel() {
    method getTerminalSoftwareVersion (line 160) | public static String getTerminalSoftwareVersion() {
    method getBuildInfo (line 169) | public static String getBuildInfo() {
    method getClientInfo (line 182) | public static String getClientInfo() {

FILE: core/src/com/gsma/rcs/core/access/MobileNetworkAccess.java
  class MobileNetworkAccess (line 41) | public class MobileNetworkAccess extends NetworkAccess {
    method MobileNetworkAccess (line 51) | public MobileNetworkAccess(RcsSettings rcsSettings) {
    method connect (line 65) | public void connect(String ipAddress) {
    method disconnect (line 85) | public void disconnect() {
    method getType (line 97) | public String getType() {
    method getNetworkName (line 118) | public String getNetworkName() {

FILE: core/src/com/gsma/rcs/core/access/NetworkAccess.java
  class NetworkAccess (line 35) | public abstract class NetworkAccess {
    method NetworkAccess (line 55) | public NetworkAccess(RcsSettings rcsSettings) {
    method getIpAddress (line 64) | public String getIpAddress() {
    method getType (line 73) | public abstract String getType();
    method getNetworkName (line 80) | public abstract String getNetworkName();
    method connect (line 89) | public abstract void connect(String ipAddress) throws CertificateExcep...
    method disconnect (line 94) | public abstract void disconnect();

FILE: core/src/com/gsma/rcs/core/access/WifiNetworkAccess.java
  class WifiNetworkAccess (line 42) | public class WifiNetworkAccess extends NetworkAccess {
    method WifiNetworkAccess (line 51) | public WifiNetworkAccess(RcsSettings rcsSettings) {
    method connect (line 67) | public void connect(String ipAddress) throws CertificateException, IOE...
    method disconnect (line 87) | public void disconnect() {
    method getType (line 99) | public String getType() {
    method getNetworkName (line 112) | public String getNetworkName() {

FILE: core/src/com/gsma/rcs/core/content/AudioContent.java
  class AudioContent (line 32) | public class AudioContent extends MmContent {
    method AudioContent (line 39) | public AudioContent(String encoding) {
    method AudioContent (line 51) | public AudioContent(Uri audioFile, String encoding, long size, String ...

FILE: core/src/com/gsma/rcs/core/content/ContentManager.java
  class ContentManager (line 49) | public class ContentManager {
    method generateUriForReceivedContent (line 58) | public static Uri generateUriForReceivedContent(String fileName, Strin...
    method createMmContent (line 105) | public static MmContent createMmContent(Uri uri, String mime, long siz...
    method createLiveVideoContent (line 134) | public static LiveVideoContent createLiveVideoContent(String codec, in...
    method createGenericLiveVideoContent (line 146) | public static LiveVideoContent createGenericLiveVideoContent() {
    method createLiveVideoContentFromSdp (line 156) | public static LiveVideoContent createLiveVideoContentFromSdp(byte[] sd...
    method createMmContentFromSdp (line 227) | public static MmContent createMmContentFromSdp(SipRequest invite, RcsS...
    method getSentPhotoRootDirectory (line 256) | public static String getSentPhotoRootDirectory(RcsSettings rcsSettings) {
    method getSentVideoRootDirectory (line 266) | public static String getSentVideoRootDirectory(RcsSettings rcsSettings) {
    method getSentAudioRootDirectory (line 276) | public static String getSentAudioRootDirectory(RcsSettings rcsSettings) {
    method getSentFileRootDirectory (line 286) | public static String getSentFileRootDirectory(RcsSettings rcsSettings) {
    method generateUriForSentContent (line 298) | public static Uri generateUriForSentContent(String fileName, String mime,

FILE: core/src/com/gsma/rcs/core/content/FileContent.java
  class FileContent (line 32) | public class FileContent extends MmContent {
    method FileContent (line 45) | public FileContent(Uri file, long size, String fileName) {

FILE: core/src/com/gsma/rcs/core/content/GeolocContent.java
  class GeolocContent (line 34) | public class GeolocContent extends MmContent {
    method GeolocContent (line 50) | public GeolocContent(String fileName, long size, byte[] data) {
    method GeolocContent (line 62) | public GeolocContent(Uri geolocFile, long size, String fileName) {
    method getData (line 66) | public byte[] getData() {

FILE: core/src/com/gsma/rcs/core/content/LiveAudioContent.java
  class LiveAudioContent (line 30) | public class LiveAudioContent extends AudioContent {
    method LiveAudioContent (line 41) | public LiveAudioContent(String encoding) {

FILE: core/src/com/gsma/rcs/core/content/LiveVideoContent.java
  class LiveVideoContent (line 30) | public class LiveVideoContent extends VideoContent {
    method LiveVideoContent (line 41) | public LiveVideoContent(String encoding) {

FILE: core/src/com/gsma/rcs/core/content/MmContent.java
  class MmContent (line 42) | public abstract class MmContent {
    method MmContent (line 64) | public MmContent(String encoding) {
    method MmContent (line 76) | public MmContent(String fileName, long size, String encoding) {
    method MmContent (line 90) | public MmContent(Uri file, String encoding, long size, String fileName) {
    method getUri (line 102) | public Uri getUri() {
    method setUri (line 111) | public void setUri(Uri uri) {
    method getSize (line 120) | public long getSize() {
    method getEncoding (line 129) | public String getEncoding() {
    method setEncoding (line 138) | public void setEncoding(String encoding) {
    method getCodec (line 147) | public String getCodec() {
    method getName (line 160) | public String getName() {
    method setName (line 169) | public void setName(String fileName) {
    method setPlayable (line 178) | public void setPlayable(boolean flag) {
    method isPlayable (line 187) | public boolean isPlayable() {
    method toString (line 196) | public String toString() {
    method writeData2File (line 206) | public void writeData2File(byte[] data) throws FileAccessException {
    method closeFile (line 223) | public void closeFile() {
    method deleteFile (line 236) | public void deleteFile() throws IOException {

FILE: core/src/com/gsma/rcs/core/content/PhotoContent.java
  class PhotoContent (line 32) | public class PhotoContent extends MmContent {
    method PhotoContent (line 42) | public PhotoContent(Uri photoFile, String encoding, long size, String ...

FILE: core/src/com/gsma/rcs/core/content/VideoContent.java
  class VideoContent (line 32) | public class VideoContent extends MmContent {
    method VideoContent (line 49) | public VideoContent(String encoding) {
    method VideoContent (line 61) | public VideoContent(Uri videoFile, String encoding, long size, String ...
    method setWidth (line 70) | public void setWidth(int width) {
    method getWidth (line 79) | public int getWidth() {
    method setHeight (line 88) | public void setHeight(int height) {
    method getHeight (line 97) | public int getHeight() {

FILE: core/src/com/gsma/rcs/core/content/VisitCardContent.java
  class VisitCardContent (line 32) | public class VisitCardContent extends MmContent {
    method VisitCardContent (line 42) | public VisitCardContent(Uri visitCardFile, String encoding, long size,...

FILE: core/src/com/gsma/rcs/core/ims/ImsError.java
  class ImsError (line 30) | public class ImsError extends Error {
    method ImsError (line 53) | public ImsError(int code) {
    method ImsError (line 64) | public ImsError(int code, String msg) {
    method ImsError (line 77) | public ImsError(int code, Throwable cause) {
    method getErrorCode (line 87) | public int getErrorCode() {

FILE: core/src/com/gsma/rcs/core/ims/ImsModule.java
  class ImsModule (line 70) | public class ImsModule implements SipEventListener {
    method ImsModule (line 108) | public ImsModule(Core core, Context ctx, LocalContentResolver localCon...
    method initialize (line 146) | public void initialize() {
    method getSipManager (line 167) | public SipManager getSipManager() {
    method getCurrentNetworkInterface (line 176) | public ImsNetworkInterface getCurrentNetworkInterface() {
    method isConnectedToWifiAccess (line 185) | public boolean isConnectedToWifiAccess() {
    method isConnectedToMobileAccess (line 194) | public boolean isConnectedToMobileAccess() {
    method getImsConnectionManager (line 203) | public ImsConnectionManager getImsConnectionManager() {
    method start (line 210) | public void start() {
    method stop (line 230) | public void stop() throws PayloadException, NetworkException, ContactM...
    method startImsServices (line 250) | public void startImsServices() throws PayloadException, NetworkException,
    method stopImsServices (line 271) | public void stopImsServices(TerminationReason reasonCode) throws Paylo...
    method checkImsServices (line 301) | public void checkImsServices() {
    method getCallManager (line 314) | public CallManager getCallManager() {
    method getImsServices (line 323) | public Collection<ImsService> getImsServices() {
    method getTermsConditionsService (line 332) | public TermsConditionsService getTermsConditionsService() {
    method getCapabilityService (line 341) | public CapabilityService getCapabilityService() {
    method getRichcallService (line 350) | public RichcallService getRichcallService() {
    method getPresenceService (line 359) | public PresenceService getPresenceService() {
    method getInstantMessagingService (line 368) | public InstantMessagingService getInstantMessagingService() {
    method getSipService (line 377) | public SipService getSipService() {
    method getCore (line 386) | public Core getCore() {
    method getCoreListener (line 395) | public CoreListener getCoreListener() {
    method receiveSipRequest (line 404) | public void receiveSipRequest(SipRequest request) {
    method terminateAllSessions (line 417) | public void terminateAllSessions(TerminationReason reasonCode) throws ...
    method isInitializationFinished (line 432) | public boolean isInitializationFinished() {
    method isInRoaming (line 439) | public boolean isInRoaming() {
    method getImsUserProfile (line 448) | public static UserProfile getImsUserProfile() {
    method setImsUserProfile (line 457) | public static void setImsUserProfile(UserProfile profile) {
    method getExtensionManager (line 466) | public ServiceExtensionManager getExtensionManager() {

FILE: core/src/com/gsma/rcs/core/ims/network/ImsConnectionManager.java
  class ImsConnectionManager (line 59) | public class ImsConnectionManager implements Runnable {
    method ImsConnectionManager (line 108) | public ImsConnectionManager(ImsModule imsModule, Context ctx, Core cor...
    method initialize (line 118) | public void initialize() {
    method start (line 133) | public void start() {
    method getCurrentNetworkInterface (line 153) | public ImsNetworkInterface getCurrentNetworkInterface() {
    method getMobileNetworkInterface (line 162) | public ImsNetworkInterface getMobileNetworkInterface() {
    method getWifiNetworkInterface (line 171) | public ImsNetworkInterface getWifiNetworkInterface() {
    method isConnectedToWifi (line 180) | public boolean isConnectedToWifi() {
    method isConnectedToMobile (line 189) | public boolean isConnectedToMobile() {
    method isDisconnectedByBattery (line 198) | public boolean isDisconnectedByBattery() {
    method loadUserProfile (line 205) | private void loadUserProfile() {
    method terminate (line 220) | public void terminate() throws PayloadException, NetworkException, Con...
    class NetworkStateListener (line 242) | private class NetworkStateListener extends BroadcastReceiver {
      method onReceive (line 243) | @Override
    method connectionEvent (line 278) | private void connectionEvent(Intent intent) throws PayloadException, C...
    method connectToIms (line 443) | private void connectToIms(String ipAddr) throws CertificateException, ...
    method disconnectFromIms (line 456) | private void disconnectFromIms() throws PayloadException, NetworkExcep...
    method disconnectFromImsByBatteryLow (line 470) | private void disconnectFromImsByBatteryLow() throws PayloadException, ...
    method startImsConnection (line 483) | private synchronized void startImsConnection() {
    method stopImsConnection (line 502) | private synchronized void stopImsConnection(TerminationReason reasonCode)
    method run (line 519) | @Override
    class BatteryLevelListener (line 668) | private class BatteryLevelListener extends BroadcastReceiver {
      method onReceive (line 669) | @Override
    method isInRoaming (line 715) | public boolean isInRoaming() {

FILE: core/src/com/gsma/rcs/core/ims/network/ImsNetworkInterface.java
  class ImsNetworkInterface (line 62) | public abstract class ImsNetworkInterface {
    class DnsResolvedFields (line 112) | public class DnsResolvedFields {
      method DnsResolvedFields (line 128) | public DnsResolvedFields(String ipAddress, int port) {
    method ImsNetworkInterface (line 204) | public ImsNetworkInterface(ImsModule imsModule, int type, NetworkAcces...
    method isBehindNat (line 231) | public boolean isBehindNat() {
    method setNatTraversal (line 240) | public void setNatTraversal(boolean flag) {
    method getNatPublicAddress (line 250) | public String getNatPublicAddress() {
    method setNatPublicAddress (line 260) | public void setNatPublicAddress(String publicAddress) {
    method getNatPublicPort (line 270) | public int getNatPublicPort() {
    method setNatPublicPort (line 280) | public void setNatPublicPort(int publicPort) {
    method isInterfaceConfigured (line 289) | public boolean isInterfaceConfigured() {
    method getRegistrationManager (line 298) | public RegistrationManager getRegistrationManager() {
    method getRetryAfterHeaderDuration (line 307) | public long getRetryAfterHeaderDuration() {
    method setRetryAfterHeaderDuration (line 316) | public void setRetryAfterHeaderDuration(long retryValue) {
    method loadRegistrationProcedure (line 323) | public void loadRegistrationProcedure() {
    method getUserProfile (line 346) | public UserProfile getUserProfile() {
    method getImsModule (line 371) | public ImsModule getImsModule() {
    method getType (line 380) | public int getType() {
    method getNetworkAccess (line 389) | public NetworkAccess getNetworkAccess() {
    method getSipManager (line 398) | public SipManager getSipManager() {
    method isRegistered (line 407) | public boolean isRegistered() {
    method getRegistrationReasonCode (line 416) | public RcsServiceRegistration.ReasonCode getRegistrationReasonCode() {
    method getDnsRequest (line 429) | private Record[] getDnsRequest(String domain, ExtendedResolver resolve...
    method getDnsA (line 461) | private String getDnsA(String domain) throws UnknownHostException {
    method getBestDnsSRV (line 474) | private SRVRecord getBestDnsSRV(Record[] records) {
    method getSrvQuery (line 505) | private String getSrvQuery(String sipService) {
    method getDnsResolvedFields (line 523) | protected DnsResolvedFields getDnsResolvedFields() throws PayloadExcep...
    method register (line 648) | public void register(DnsResolvedFields dnsResolvedFields) throws Paylo...
    method unregister (line 692) | public void unregister() throws PayloadException, NetworkException {
    method registrationTerminated (line 705) | public void registrationTerminated() {

FILE: core/src/com/gsma/rcs/core/ims/network/MobileNetworkInterface.java
  class MobileNetworkInterface (line 37) | public class MobileNetworkInterface extends ImsNetworkInterface {
    method MobileNetworkInterface (line 49) | public MobileNetworkInterface(ImsModule imsModule, RcsSettings rcsSett...

FILE: core/src/com/gsma/rcs/core/ims/network/NetworkException.java
  class NetworkException (line 27) | public class NetworkException extends Exception {
    method NetworkException (line 36) | public NetworkException(String message) {
    method NetworkException (line 48) | public NetworkException(String message, Throwable cause) {

FILE: core/src/com/gsma/rcs/core/ims/network/WifiNetworkInterface.java
  class WifiNetworkInterface (line 37) | public class WifiNetworkInterface extends ImsNetworkInterface {
    method WifiNetworkInterface (line 49) | public WifiNetworkInterface(ImsModule imsModule, RcsSettings rcsSettin...

FILE: core/src/com/gsma/rcs/core/ims/network/gsm/CallManager.java
  class CallManager (line 52) | public class CallManager {
    type State (line 54) | private enum State {
    method CallManager (line 100) | public CallManager(ImsModule parent, Context ctx) {
    method start (line 109) | public void start() {
    method stop (line 133) | public void stop() {
    method onCallStateChanged (line 149) | public void onCallStateChanged(final int state, final String incomingN...
    method setRemoteParty (line 288) | public static void setRemoteParty(ContactId contact) {
    method getPhoneNumberOfConntectedRemote (line 297) | private ContactId getPhoneNumberOfConntectedRemote() {
    method getContact (line 309) | public ContactId getContact() {
    method isCallConnected (line 318) | public boolean isCallConnected() {
    method isCallConnectedWith (line 329) | public boolean isCallConnectedWith(ContactId contact) {
    method isMultipartyCall (line 343) | public boolean isMultipartyCall() {
    method isCallHold (line 352) | public boolean isCallHold() {
    method requestCapabilities (line 361) | private void requestCapabilities(ContactId contact) {
    method callLegHasChanged (line 374) | private void callLegHasChanged() throws PayloadException, NetworkExcep...
    method setMultiPartyCall (line 391) | public void setMultiPartyCall(boolean state) throws PayloadException, ...
    method setCallHold (line 407) | public void setCallHold(boolean state) throws PayloadException, Networ...
    method connectionEvent (line 424) | public void connectionEvent(boolean connected) throws PayloadException...

FILE: core/src/com/gsma/rcs/core/ims/network/registration/GibaRegistrationProcedure.java
  class GibaRegistrationProcedure (line 54) | public class GibaRegistrationProcedure extends RegistrationProcedure {
    method GibaRegistrationProcedure (line 79) | public GibaRegistrationProcedure() {
    method init (line 85) | public void init() {
    method getHomeDomain (line 102) | public String getHomeDomain() {
    method getPublicUri (line 111) | public String getPublicUri() {
    method writeSecurityHeader (line 121) | public void writeSecurityHeader(SipRequest request) {
    method readSecurityHeader (line 131) | public void readSecurityHeader(SipResponse response) throws PayloadExc...
    method getSipUri (line 155) | private SipURI getSipUri(ListIterator<Header> list) throws PayloadExce...

FILE: core/src/com/gsma/rcs/core/ims/network/registration/HttpDigestRegistrationProcedure.java
  class HttpDigestRegistrationProcedure (line 45) | public class HttpDigestRegistrationProcedure extends RegistrationProcedu...
    method HttpDigestRegistrationProcedure (line 54) | public HttpDigestRegistrationProcedure() {
    method init (line 60) | public void init() {
    method getHomeDomain (line 69) | public String getHomeDomain() {
    method getPublicUri (line 78) | public String getPublicUri() {
    method writeSecurityHeader (line 90) | public void writeSecurityHeader(SipRequest request) throws PayloadExce...
    method readSecurityHeader (line 138) | public void readSecurityHeader(SipResponse response) throws PayloadExc...
    method getHttpDigest (line 168) | public HttpDigestMd5Authentication getHttpDigest() {

FILE: core/src/com/gsma/rcs/core/ims/network/registration/RegistrationManager.java
  class RegistrationManager (line 65) | public class RegistrationManager extends PeriodicRefresher {
    method RegistrationManager (line 132) | public RegistrationManager(ImsNetworkInterface networkInterface,
    method getExpiryValue (line 151) | private long getExpiryValue() {
    method init (line 161) | public void init() {
    method getRegistrationProcedure (line 169) | public RegistrationProcedure getRegistrationProcedure() {
    method isRegistered (line 178) | public boolean isRegistered() {
    method getReasonCode (line 187) | public RcsServiceRegistration.ReasonCode getReasonCode() {
    method restart (line 194) | public void restart() {
    method register (line 231) | public synchronized void register() throws PayloadException, NetworkEx...
    method isBatteryLow (line 268) | private boolean isBatteryLow() {
    method stopRegistration (line 275) | public synchronized void stopRegistration() {
    method deRegister (line 303) | public synchronized void deRegister() throws PayloadException, Network...
    method sendRegister (line 338) | private void sendRegister(SipRequest register) throws PayloadException...
    method handle403Forbidden (line 424) | private void handle403Forbidden() {
    method handle200OK (line 457) | private void handle200OK(SipTransactionContext ctx) throws PayloadExce...
    method handle200OkUnregister (line 537) | private void handle200OkUnregister() {
    method handle302MovedTemporarily (line 555) | private void handle302MovedTemporarily(SipTransactionContext ctx) thro...
    method handle401Unauthorized (line 588) | private void handle401Unauthorized(SipTransactionContext ctx) throws P...
    method handle423IntervalTooBrief (line 630) | private void handle423IntervalTooBrief(SipTransactionContext ctx) thro...
    method handleError (line 654) | private void handleError(ImsError error) {
    method resetDialogPath (line 673) | private void resetDialogPath() {
    method retrieveExpirePeriod (line 682) | private void retrieveExpirePeriod(SipResponse response) {
    method periodicProcessing (line 714) | public void periodicProcessing() throws PayloadException, NetworkExcep...
    method handle4xx5xx6xxNoRetryAfterHeader (line 729) | private void handle4xx5xx6xxNoRetryAfterHeader(SipTransactionContext ctx)

FILE: core/src/com/gsma/rcs/core/ims/network/registration/RegistrationProcedure.java
  class RegistrationProcedure (line 34) | public abstract class RegistrationProcedure {
    method init (line 38) | public abstract void init();
    method getHomeDomain (line 45) | public abstract String getHomeDomain();
    method getPublicUri (line 52) | public abstract String getPublicUri();
    method writeSecurityHeader (line 60) | public abstract void writeSecurityHeader(SipRequest request) throws Pa...
    method readSecurityHeader (line 68) | public abstract void readSecurityHeader(SipResponse response) throws P...

FILE: core/src/com/gsma/rcs/core/ims/network/registration/RegistrationUtils.java
  class RegistrationUtils (line 34) | public class RegistrationUtils {
    method getSupportedFeatureTags (line 41) | public static String[] getSupportedFeatureTags(RcsSettings rcsSettings) {

FILE: core/src/com/gsma/rcs/core/ims/network/sip/FeatureTags.java
  class FeatureTags (line 27) | public class FeatureTags {

FILE: core/src/com/gsma/rcs/core/ims/network/sip/Multipart.java
  class Multipart (line 34) | public class Multipart {
    method Multipart (line 53) | public Multipart(String content, String boundary) {
    method isMultipart (line 90) | public boolean isMultipart() {
    method getPart (line 100) | public String getPart(String type) {

FILE: core/src/com/gsma/rcs/core/ims/network/sip/SipManager.java
  class SipManager (line 50) | public class SipManager {
    method SipManager (line 75) | public SipManager(ImsNetworkInterface parent, RcsSettings rcsSettings) {
    method getNetworkInterface (line 88) | public ImsNetworkInterface getNetworkInterface() {
    method getSipStack (line 97) | public SipInterface getSipStack() {
    method terminate (line 104) | public void terminate() {
    method initStack (line 127) | public synchronized void initStack(String localAddr, String proxyAddr,...
    method closeStack (line 138) | public synchronized void closeStack() {
    method sendSipMessageAndWait (line 156) | public SipTransactionContext sendSipMessageAndWait(SipMessage message)...
    method sendSipMessageAndWait (line 170) | public SipTransactionContext sendSipMessageAndWait(SipMessage message,...
    method sendSipMessage (line 183) | public SipTransactionContext sendSipMessage(SipMessage message) throws...
    method sendSipMessageAndWait (line 198) | public SipTransactionContext sendSipMessageAndWait(SipMessage message,...
    method sendSipMessage (line 268) | public SipTransactionContext sendSipMessage(SipMessage message,
    method waitResponse (line 279) | public void waitResponse(SipTransactionContext ctx) {
    method waitResponse (line 289) | public void waitResponse(SipTransactionContext ctx, long timeout) {
    method sendSipResponse (line 353) | public void sendSipResponse(SipResponse response) throws NetworkExcept...
    method sendSipAck (line 364) | public void sendSipAck(SipDialogPath dialog) throws PayloadException, ...
    method sendSipBye (line 375) | public void sendSipBye(SipDialogPath dialog) throws PayloadException, ...
    method sendSipCancel (line 386) | public void sendSipCancel(SipDialogPath dialog) throws PayloadExceptio...
    method sendSubsequentRequest (line 399) | public SipTransactionContext sendSubsequentRequest(SipDialogPath dialo...
    method sendSubsequentRequest (line 414) | private SipTransactionContext sendSubsequentRequest(SipDialogPath dial...
    method getTimeout (line 436) | public static long getTimeout() {
    method setTimeout (line 445) | public static void setTimeout(long timeout) {

FILE: core/src/com/gsma/rcs/core/ims/network/sip/SipMessageFactory.java
  class SipMessageFactory (line 81) | public class SipMessageFactory {
    method createRegister (line 98) | public static SipRequest createRegister(SipDialogPath dialog, String[]...
    method createSubscribe (line 187) | public static SipRequest createSubscribe(SipDialogPath dialog, long ex...
    method createMessage (line 258) | public static SipRequest createMessage(SipDialogPath dialog, String co...
    method createMessage (line 273) | public static SipRequest createMessage(SipDialogPath dialog, String fe...
    method createPublish (line 362) | public static SipRequest createPublish(SipDialogPath dialog, long expi...
    method createInvite (line 447) | public static SipRequest createInvite(SipDialogPath dialog, String[] f...
    method createInvite (line 462) | public static SipRequest createInvite(SipDialogPath dialog, String[] f...
    method createMultipartInvite (line 487) | public static SipRequest createMultipartInvite(SipDialogPath dialog, S...
    method createMultipartInvite (line 503) | public static SipRequest createMultipartInvite(SipDialogPath dialog, S...
    method createInvite (line 530) | public static SipRequest createInvite(SipDialogPath dialog, String[] f...
    method create200OkInviteResponse (line 628) | public static SipResponse create200OkInviteResponse(SipDialogPath dial...
    method create200OkInviteResponse (line 643) | public static SipResponse create200OkInviteResponse(SipDialogPath dial...
    method createAck (line 706) | public static SipRequest createAck(SipDialogPath dialog) throws Payloa...
    method createResponse (line 774) | public static SipResponse createResponse(SipRequest request, int code)...
    method createResponse (line 794) | public static SipResponse createResponse(SipRequest request, String lo...
    method createResponse (line 808) | public static SipResponse createResponse(SipRequest request, String lo...
    method createBye (line 841) | public static SipRequest createBye(SipDialogPath dialog) throws Payloa...
    method createCancel (line 872) | public static SipRequest createCancel(SipDialogPath dialog) throws Pay...
    method createOptions (line 905) | public static SipRequest createOptions(SipDialogPath dialog, String[] ...
    method create200OkOptionsResponse (line 980) | public static SipResponse create200OkOptionsResponse(SipRequest option...
    method createRefer (line 1032) | public static SipRequest createRefer(SipDialogPath dialog, Uri toConta...
    method createRefer (line 1095) | public static SipRequest createRefer(SipDialogPath dialog, Set<Contact...
    method createReInvite (line 1182) | public static SipRequest createReInvite(SipDialogPath dialog) throws P...
    method createReInvite (line 1244) | public static SipRequest createReInvite(SipDialogPath dialog, String[]...
    method create200OkReInviteResponse (line 1331) | public static SipResponse create200OkReInviteResponse(SipDialogPath di...
    method create200OkReInviteResponse (line 1373) | public static SipResponse create200OkReInviteResponse(SipDialogPath di...
    method createUpdate (line 1434) | public static SipRequest createUpdate(SipDialogPath dialog) throws Pay...
    method create200OkUpdateResponse (line 1468) | public static SipResponse create200OkUpdateResponse(SipDialogPath dial...
    method setPPreferedIdentityHeader (line 1500) | private static void setPPreferedIdentityHeader(Request request) throws...

FILE: core/src/com/gsma/rcs/core/ims/network/sip/SipUtils.java
  class SipUtils (line 56) | public class SipUtils {
    method extractUriFromAddress (line 187) | public static String extractUriFromAddress(String addr) {
    method constructNTPtime (line 202) | public static String constructNTPtime(long date) {
    method userAgentString (line 217) | public static String userAgentString() {
    method buildUserAgentHeader (line 231) | public static Header buildUserAgentHeader() throws ParseException {
    method buildServerHeader (line 241) | public static Header buildServerHeader() throws ParseException {
    method buildAllowHeader (line 255) | public static void buildAllowHeader(Message msg) throws ParseException {
    method buildMaxForwardsHeader (line 273) | public static MaxForwardsHeader buildMaxForwardsHeader() throws Invali...
    method buildAccessNetworkInfo (line 284) | public static Header buildAccessNetworkInfo(String info) throws ParseE...
    method extractParameter (line 296) | public static String extractParameter(String input, String param, Stri...
    method getMinExpiresPeriod (line 322) | public static long getMinExpiresPeriod(SipMessage message) throws Payl...
    method getMinSessionExpirePeriod (line 337) | public static long getMinSessionExpirePeriod(SipMessage message) {
    method getAssertedIdentityHeader (line 352) | public static String getAssertedIdentityHeader(SipRequest request) {
    method getAssertedIdentity (line 385) | public static String getAssertedIdentity(SipRequest request) {
    method routeProcessing (line 402) | public static Vector<String> routeProcessing(SipMessage msg, boolean i...
    method isFeatureTagPresent (line 429) | public static boolean isFeatureTagPresent(SipMessage msg, String featu...
    method setFeatureTags (line 446) | public static void setFeatureTags(Message message, String[] tags) thro...
    method setFeatureTags (line 458) | public static void setFeatureTags(Message message, String[] contactTags,
    method setAcceptContactFeatureTags (line 475) | private static void setAcceptContactFeatureTags(Message message, Strin...
    method setContactFeatureTags (line 508) | public static void setContactFeatureTags(Message message, String[] tag...
    method getReferredByHeader (line 524) | public static String getReferredByHeader(SipMessage message) {
    method getRemoteInstanceId (line 554) | public static String getRemoteInstanceId(SipMessage message) {
    method getAcceptContactTagValue (line 562) | private static String getAcceptContactTagValue(SipMessage message, Str...
    method getInstanceID (line 594) | public static String getInstanceID(SipMessage message) {
    method getPublicGruu (line 604) | public static String getPublicGruu(SipMessage message) {
    method setRemoteInstanceID (line 615) | public static void setRemoteInstanceID(Message message, String instanc...
    method getDisplayNameFromUri (line 640) | private static String getDisplayNameFromUri(String uri) {
    method assertContentIsNotNull (line 651) | public static void assertContentIsNotNull(String content, SipRequest i...
    method getDisplayNameFromInvite (line 664) | public static String getDisplayNameFromInvite(SipRequest invite) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/PayloadException.java
  class PayloadException (line 26) | public class PayloadException extends Exception {
    method PayloadException (line 35) | public PayloadException(String message) {
    method PayloadException (line 47) | public PayloadException(String message, Throwable cause) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpAuthenticationAgent.java
  class HttpAuthenticationAgent (line 36) | public class HttpAuthenticationAgent {
    method HttpAuthenticationAgent (line 58) | public HttpAuthenticationAgent(String login, String pwd) {
    method generateAuthorizationHeader (line 71) | public String generateAuthorizationHeader(String method, String reques...
    method generateAuthorizationHeaderValue (line 83) | public String generateAuthorizationHeaderValue(String method, String r...
    method readWwwAuthenticateHeader (line 136) | public void readWwwAuthenticateHeader(String header) {
    method getValue (line 173) | private String getValue(String header, String key) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpDeleteRequest.java
  class HttpDeleteRequest (line 26) | public class HttpDeleteRequest extends HttpRequest {
    method HttpDeleteRequest (line 32) | public HttpDeleteRequest(String url) {
    method getMethod (line 41) | public String getMethod() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpGetRequest.java
  class HttpGetRequest (line 26) | public class HttpGetRequest extends HttpRequest {
    method HttpGetRequest (line 32) | public HttpGetRequest(String url) {
    method getMethod (line 41) | public String getMethod() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpPostRequest.java
  class HttpPostRequest (line 26) | public class HttpPostRequest extends HttpRequest {
    method HttpPostRequest (line 34) | public HttpPostRequest(String url, String content, String contentType) {
    method getMethod (line 43) | public String getMethod() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpPutRequest.java
  class HttpPutRequest (line 26) | public class HttpPutRequest extends HttpRequest {
    method HttpPutRequest (line 34) | public HttpPutRequest(String url, String content, String contentType) {
    method getMethod (line 43) | public String getMethod() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpRequest.java
  class HttpRequest (line 26) | public abstract class HttpRequest {
    method HttpRequest (line 59) | public HttpRequest(String url, String content, String contentType) {
    method getAuthenticationAgent (line 70) | public HttpAuthenticationAgent getAuthenticationAgent() {
    method setAuthenticationAgent (line 79) | public void setAuthenticationAgent(HttpAuthenticationAgent agent) {
    method getMethod (line 88) | public abstract String getMethod();
    method getUrl (line 95) | public String getUrl() {
    method getContent (line 104) | public String getContent() {
    method getContentLength (line 113) | public int getContentLength() {
    method getContentType (line 126) | public String getContentType() {
    method getCookie (line 135) | public String getCookie() {
    method setCookie (line 144) | public void setCookie(String cookie) {
    method getAUID (line 153) | public String getAUID() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/http/HttpResponse.java
  class HttpResponse (line 34) | public class HttpResponse {
    method HttpResponse (line 56) | public HttpResponse() {
    method setStatusLine (line 64) | public void setStatusLine(String status) {
    method getStatusLine (line 73) | public String getStatusLine() {
    method addHeader (line 83) | public void addHeader(String name, String value) {
    method getHeader (line 93) | public String getHeader(String name) {
    method getResponseCode (line 102) | public int getResponseCode() {
    method isSuccessfullResponse (line 121) | public boolean isSuccessfullResponse() {
    method isNotFoundResponse (line 134) | public boolean isNotFoundResponse() {
    method getContent (line 147) | public byte[] getContent() {
    method setContent (line 156) | public void setContent(byte[] content) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/ChunkReceiver.java
  class ChunkReceiver (line 43) | public class ChunkReceiver extends Thread {
    method ChunkReceiver (line 75) | public ChunkReceiver(MsrpConnection connection, InputStream stream) {
    method getConnection (line 85) | public MsrpConnection getConnection() {
    method terminate (line 92) | public void terminate() {
    method run (line 100) | public void run() {
    method readLine (line 347) | private StringBuilder readLine() throws NetworkException {
    method readChunkedData (line 372) | private byte[] readChunkedData(int chunkSize, String endTag) throws Ne...

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/ChunkSender.java
  class ChunkSender (line 39) | public class ChunkSender extends Thread {
    method ChunkSender (line 71) | public ChunkSender(MsrpConnection connection, OutputStream stream) {
    method getConnection (line 81) | public MsrpConnection getConnection() {
    method terminate (line 88) | public void terminate() {
    method run (line 97) | public void run() {
    method sendChunk (line 139) | public void sendChunk(byte chunk[]) throws NetworkException {
    method sendChunkImmediately (line 153) | public void sendChunkImmediately(byte chunk[]) throws NetworkException {
    method writeData (line 166) | private synchronized void writeData(byte chunk[]) throws NetworkExcept...

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/DataChunks.java
  class DataChunks (line 28) | public class DataChunks {
    method DataChunks (line 42) | public DataChunks() {
    method addChunk (line 50) | public void addChunk(byte[] data) {
    method getReceivedData (line 60) | public byte[] getReceivedData() {
    method resetCache (line 67) | public void resetCache() {
    method getCurrentSize (line 76) | public int getCurrentSize() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/FifoBuffer.java
  class FifoBuffer (line 28) | public class FifoBuffer {
    method putMessage (line 44) | public synchronized void putMessage(Object obj) {
    method getMessage (line 56) | public synchronized Object getMessage() {
    method getMessage (line 81) | public synchronized Object getMessage(int timeout) {
    method unblockRead (line 102) | public void unblockRead() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpClientConnection.java
  class MsrpClientConnection (line 36) | public class MsrpClientConnection extends MsrpConnection {
    method MsrpClientConnection (line 70) | public MsrpClientConnection(MsrpSession session, String remoteAddress,...
    method MsrpClientConnection (line 85) | public MsrpClientConnection(MsrpSession session, String remoteAddress,...
    method MsrpClientConnection (line 102) | public MsrpClientConnection(MsrpSession session, String remoteAddress,...
    method isSecured (line 115) | public boolean isSecured() {
    method getSocketConnection (line 126) | public SocketConnection getSocketConnection() throws NetworkException,...

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpConnection.java
  class MsrpConnection (line 39) | public abstract class MsrpConnection {
    method MsrpConnection (line 68) | public MsrpConnection(MsrpSession session) {
    method getSession (line 77) | public MsrpSession getSession() {
    method open (line 87) | public void open() throws NetworkException, PayloadException {
    method open (line 111) | public void open(long timeout) throws NetworkException, PayloadExcepti...
    method close (line 133) | public void close() {
    method sendChunk (line 157) | public void sendChunk(byte chunk[]) throws NetworkException {
    method sendChunkImmediately (line 170) | public void sendChunkImmediately(byte chunk[]) throws NetworkException {
    method getSocketConnection (line 181) | public abstract SocketConnection getSocketConnection() throws PayloadE...
    method isMsrpTraceEnabled (line 189) | public static boolean isMsrpTraceEnabled() {
    method setMsrpTraceEnabled (line 198) | public static void setMsrpTraceEnabled(boolean enable) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpConstants.java
  type MsrpConstants (line 26) | public interface MsrpConstants {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpEventListener.java
  type MsrpEventListener (line 36) | public interface MsrpEventListener {
    method msrpDataTransferred (line 42) | void msrpDataTransferred(String msgId);
    method receiveMsrpData (line 54) | void receiveMsrpData(String msgId, byte[] data, String mimeType) throw...
    method msrpTransferProgress (line 63) | void msrpTransferProgress(long currentSize, long totalSize);
    method msrpTransferProgress (line 74) | boolean msrpTransferProgress(long currentSize, long totalSize, byte[] ...
    method msrpTransferAborted (line 79) | void msrpTransferAborted();
    method msrpTransferError (line 88) | void msrpTransferError(String msgId, String error, TypeMsrpChunk typeM...

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpManager.java
  class MsrpManager (line 46) | public class MsrpManager {
    method MsrpManager (line 69) | public MsrpManager(String localMsrpAddress, int localMsrpPort, RcsSett...
    method MsrpManager (line 84) | public MsrpManager(String localMsrpAddress, int localMsrpPort, ImsServ...
    method getLocalMsrpPort (line 101) | public int getLocalMsrpPort() {
    method getLocalSocketProtocol (line 110) | public String getLocalSocketProtocol() {
    method getLocalMsrpPath (line 122) | public String getLocalMsrpPath() {
    method getMsrpProtocol (line 136) | public String getMsrpProtocol() {
    method getMsrpSession (line 148) | public MsrpSession getMsrpSession() {
    method isSecured (line 157) | public boolean isSecured() {
    method setSecured (line 166) | public void setSecured(boolean flag) {
    method openMsrpSession (line 176) | public void openMsrpSession() throws NetworkException, PayloadException {
    method openMsrpSession (line 187) | public void openMsrpSession(long timeout) throws NetworkException, Pay...
    method createMsrpSession (line 199) | public MsrpSession createMsrpSession(byte[] sdp, MsrpEventListener lis...
    method createMsrpClientSession (line 247) | public MsrpSession createMsrpClientSession(String remoteHost, int remo...
    method createMsrpServerSession (line 274) | public MsrpSession createMsrpServerSession(String remoteMsrpPath, Msrp...
    method sendChunks (line 307) | public void sendChunks(InputStream inputStream, String msgId, String c...
    method sendEmptyChunk (line 317) | public void sendEmptyChunk() throws NetworkException {
    method closeSession (line 324) | public synchronized void closeSession() {
    method isEstablished (line 339) | public boolean isEstablished() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpServerConnection.java
  class MsrpServerConnection (line 39) | public class MsrpServerConnection extends MsrpConnection {
    method MsrpServerConnection (line 61) | public MsrpServerConnection(MsrpSession session, int localPort) {
    method getSocketConnection (line 72) | public SocketConnection getSocketConnection() throws NetworkException {
    method close (line 99) | public void close() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpSession.java
  class MsrpSession (line 50) | public class MsrpSession {
    type TypeMsrpChunk (line 62) | public enum TypeMsrpChunk {
    class MsrpTransactionInfo (line 70) | private class MsrpTransactionInfo {
      method MsrpTransactionInfo (line 85) | public MsrpTransactionInfo(String transactionId, String msrpMsgId, S...
      method toString (line 94) | @Override
    method MsrpSession (line 177) | public MsrpSession(RcsSettings rcsSettings) {
    method finalize (line 186) | @Override
    method generateTransactionId (line 197) | private static synchronized String generateTransactionId() {
    method isFailureReportRequested (line 206) | public boolean isFailureReportRequested() {
    method setFailureReportOption (line 215) | public void setFailureReportOption(boolean failureReportOption) {
    method isSuccessReportRequested (line 224) | public boolean isSuccessReportRequested() {
    method setSuccessReportOption (line 233) | public void setSuccessReportOption(boolean successReportOption) {
    method setConnection (line 242) | public void setConnection(MsrpConnection connection) {
    method getConnection (line 251) | public MsrpConnection getConnection() {
    method getMsrpEventListener (line 260) | public MsrpEventListener getMsrpEventListener() {
    method addMsrpEventListener (line 269) | public void addMsrpEventListener(MsrpEventListener listener) {
    method getFrom (line 278) | public String getFrom() {
    method setFrom (line 287) | public void setFrom(String from) {
    method getTo (line 296) | public String getTo() {
    method setTo (line 305) | public void setTo(String to) {
    method close (line 312) | public void close() {
    method sendChunks (line 351) | public void sendChunks(InputStream inputStream, String msgId, String c...
    method sendEmptyChunk (line 496) | public void sendEmptyChunk() throws NetworkException {
    method sendMsrpSendRequest (line 521) | private void sendMsrpSendRequest(String txId, String to, String from, ...
    method sendEmptyMsrpSendRequest (line 629) | private void sendEmptyMsrpSendRequest(String txId, String to, String f...
    method sendMsrpResponse (line 680) | private void sendMsrpResponse(String code, String txId, Hashtable<Stri...
    method sendMsrpReportRequest (line 725) | private void sendMsrpReportRequest(String txId, Hashtable<String, Stri...
    method receiveMsrpSend (line 798) | public void receiveMsrpSend(String txId, Hashtable<String, String> hea...
    method receiveMsrpResponse (line 872) | public void receiveMsrpResponse(int code, String txId, Hashtable<Strin...
    method receiveMsrpReport (line 926) | public void receiveMsrpReport(String txId, Hashtable<String, String> h...
    method setMapMsgIdFromTransationId (line 1017) | public void setMapMsgIdFromTransationId(boolean mapMsgIdFromTransation...
    method addMsrpTransactionInfo (line 1046) | private void addMsrpTransactionInfo(String transactionId, String msrpM...
    method removeMsrpTransactionInfo (line 1064) | public void removeMsrpTransactionInfo(String transactionId) {
    method getMsrpTransactionInfo (line 1081) | private MsrpTransactionInfo getMsrpTransactionInfo(String transactionI...
    method getMsrpTransactionInfoByMessageId (line 1096) | private MsrpTransactionInfo getMsrpTransactionInfoByMessageId(String m...
    method checkMsrpTransactionInfo (line 1112) | public void checkMsrpTransactionInfo() {
    method isEstablished (line 1142) | public boolean isEstablished() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpTransaction.java
  class MsrpTransaction (line 33) | public class MsrpTransaction extends Object {
    method MsrpTransaction (line 67) | public MsrpTransaction() {
    method waitAllResponses (line 73) | public synchronized void waitAllResponses() {
    method handleRequest (line 91) | public void handleRequest() {
    method handleResponse (line 102) | public synchronized void handleResponse() {
    method isAllResponsesReceived (line 127) | public boolean isAllResponsesReceived() {
    method terminate (line 134) | public synchronized void terminate() {
    method isTerminated (line 147) | public boolean isTerminated() {
    method startTimer (line 154) | private void startTimer() {
    method stopTimer (line 168) | private void stopTimer() {
    method timerExpire (line 175) | private synchronized void timerExpire() {
    method getNumberReceivedOk (line 184) | public int getNumberReceivedOk() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/MsrpUtils.java
  class MsrpUtils (line 26) | public class MsrpUtils {
    method getChunkSize (line 33) | public static int getChunkSize(String header) {
    method getTotalSize (line 61) | public static int getTotalSize(String header) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/ReportTransaction.java
  class ReportTransaction (line 32) | public class ReportTransaction extends Object {
    method ReportTransaction (line 63) | public ReportTransaction() {
    method notifyReport (line 72) | public void notifyReport(int status, Hashtable<String, String> headers) {
    method waitReport (line 93) | public void waitReport() {
    method terminate (line 107) | public void terminate() {
    method getReportedSize (line 119) | public long getReportedSize() {
    method getStatusCode (line 128) | public int getStatusCode() {
    method isTransactionFinished (line 138) | public boolean isTransactionFinished(long totalSize) {
    method parseStatusCode (line 156) | public static int parseStatusCode(Hashtable<String, String> headers) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/msrp/RequestTransaction.java
  class RequestTransaction (line 34) | public class RequestTransaction extends Object {
    method RequestTransaction (line 50) | public RequestTransaction(RcsSettings rcsSettings) {
    method notifyResponse (line 60) | public void notifyResponse(int code, Hashtable<String, String> headers) {
    method waitResponse (line 73) | public void waitResponse() {
    method terminate (line 86) | public void terminate() {
    method isResponseReceived (line 98) | public boolean isResponseReceived() {
    method getResponse (line 107) | public int getResponse() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/CodecChain.java
  class CodecChain (line 32) | public class CodecChain {
    method CodecChain (line 58) | public CodecChain(Codec[] codecs, ProcessorOutputStream renderer) {
    method process (line 83) | public int process(Buffer input) {
    method doProcess (line 95) | private int doProcess(int codecNo, Buffer input) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/DummyPacketGenerator.java
  class DummyPacketGenerator (line 35) | public class DummyPacketGenerator {
    method DummyPacketGenerator (line 59) | public DummyPacketGenerator() {
    method prepareSession (line 70) | public void prepareSession(String remoteAddress, int remotePort, RtpIn...
    method startSession (line 103) | public void startSession() {
    method stopSession (line 117) | public void stopSession() {
    method incomingStarted (line 134) | public void incomingStarted() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/MediaRegistry.java
  class MediaRegistry (line 37) | public class MediaRegistry {
    method getSupportedVideoFormats (line 53) | public static Vector<VideoFormat> getSupportedVideoFormats() {
    method getSupportedAudioFormats (line 69) | public static Vector<AudioFormat> getSupportedAudioFormats() {
    method generateFormat (line 86) | public static Format generateFormat(String codec) {
    method isCodecSupported (line 96) | public static boolean isCodecSupported(String codec) {
    method generateEncodingCodecChain (line 107) | public static Codec[] generateEncodingCodecChain(String encoding) {
    method generateDecodingCodecChain (line 125) | public static Codec[] generateDecodingCodecChain(String encoding) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/MediaRtpReceiver.java
  class MediaRtpReceiver (line 39) | public class MediaRtpReceiver {
    method MediaRtpReceiver (line 65) | public MediaRtpReceiver(int localPort) {
    method prepareSession (line 79) | public void prepareSession(String remoteAddress, int remotePort, Media...
    method startSession (line 116) | public void startSession() {
    method stopSession (line 130) | public void stopSession() {
    method getInputStream (line 146) | public RtpInputStream getInputStream() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/MediaRtpSender.java
  class MediaRtpSender (line 40) | public class MediaRtpSender {
    method MediaRtpSender (line 76) | public MediaRtpSender(Format format, int localRtpPort) {
    method prepareSession (line 89) | public void prepareSession(MediaInput player, String remoteAddress, in...
    method startSession (line 134) | public void startSession() {
    method stopSession (line 148) | public void stopSession() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/Processor.java
  class Processor (line 34) | public class Processor extends Thread {
    method Processor (line 67) | public Processor(ProcessorInputStream inputStream, ProcessorOutputStre...
    method startProcessing (line 85) | public void startProcessing() {
    method stopProcessing (line 96) | public void stopProcessing() {
    method run (line 110) | public void run() {
    method getInputStream (line 159) | public ProcessorInputStream getInputStream() {
    method getOutputStream (line 168) | public ProcessorOutputStream getOutputStream() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/RtpUtils.java
  class RtpUtils (line 26) | public class RtpUtils {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/VideoRtpReceiver.java
  class VideoRtpReceiver (line 36) | public class VideoRtpReceiver extends MediaRtpReceiver {
    method VideoRtpReceiver (line 42) | public VideoRtpReceiver(int localPort) {
    method prepareSession (line 57) | public void prepareSession(String remoteAddress, int remotePort, int o...

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/VideoRtpSender.java
  class VideoRtpSender (line 41) | public class VideoRtpSender extends MediaRtpSender {
    method VideoRtpSender (line 47) | public VideoRtpSender(Format format, int localRtpPort) {
    method prepareSession (line 60) | public void prepareSession(MediaInput player, String remoteAddress, in...
    method prepareSession (line 106) | public void prepareSession(MediaInput player, String remoteAddress, in...

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/Codec.java
  class Codec (line 29) | public abstract class Codec {
    method setInputFormat (line 67) | public Format setInputFormat(Format input) {
    method setOutputFormat (line 78) | public Format setOutputFormat(Format output) {
    method getInputFormat (line 88) | public Format getInputFormat() {
    method getOutputFormat (line 97) | public Format getOutputFormat() {
    method reset (line 104) | public void reset() {
    method open (line 110) | public void open() {
    method close (line 116) | public void close() {
    method isEOM (line 124) | protected boolean isEOM(Buffer inputBuffer) {
    method propagateEOM (line 133) | protected void propagateEOM(Buffer outputBuffer) {
    method updateOutput (line 146) | protected void updateOutput(Buffer outputBuffer, Format format, int le...
    method validateByteArraySize (line 157) | protected byte[] validateByteArraySize(Buffer buffer, int newSize) {
    method process (line 182) | public abstract int process(Buffer input, Buffer output);

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/audio/AudioCodec.java
  class AudioCodec (line 28) | public abstract class AudioCodec extends Codec {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/audio/amr/AMRWBConfig.java
  class AMRWBConfig (line 26) | public class AMRWBConfig {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/VideoCodec.java
  class VideoCodec (line 28) | public abstract class VideoCodec extends Codec {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/H264Config.java
  class H264Config (line 30) | public class H264Config {
    method getCodecProfileLevelId (line 101) | public static String getCodecProfileLevelId(String codecParams) {
    method getParameterValue (line 114) | private static String getParameterValue(String paramKey, String params) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/H264RtpHeaders.java
  class H264RtpHeaders (line 30) | public class H264RtpHeaders {
    method H264RtpHeaders (line 62) | public H264RtpHeaders(byte[] rtpPacketData) {
    method isFrameNonInterleaved (line 86) | public boolean isFrameNonInterleaved() { // not fragmented
    method getHeaderSize (line 95) | public int getHeaderSize() {
    method getNALHeader (line 108) | public byte getNALHeader() {
    method isIDRSlice (line 122) | public boolean isIDRSlice() {
    method isNonIDRSlice (line 140) | public boolean isNonIDRSlice() {
    method getFUI_F (line 157) | public boolean getFUI_F() {
    method getFUI_NRI (line 166) | public int getFUI_NRI() {
    method getFUI_TYPE (line 175) | public byte getFUI_TYPE() {
    method getFUH_S (line 184) | public boolean getFUH_S() {
    method getFUH_E (line 193) | public boolean getFUH_E() {
    method getFUH_R (line 202) | public boolean getFUH_R() {
    method getFUH_TYPE (line 211) | public byte getFUH_TYPE() {
    method toString (line 215) | @Override

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/JavaDepacketizer.java
  class JavaDepacketizer (line 32) | public class JavaDepacketizer extends VideoCodec {
    method JavaDepacketizer (line 68) | public JavaDepacketizer() {
    method process (line 78) | public int process(Buffer input, Buffer output) {
    method extractNalUnitHeader (line 101) | private void extractNalUnitHeader(Buffer input) {
    method extractNalUnitHeader (line 115) | private void extractNalUnitHeader(int position, Buffer input) {
    method handleSingleNalUnitPacket (line 128) | private int handleSingleNalUnitPacket(Buffer input, Buffer output) {
    method handleAggregationPacket (line 153) | private int handleAggregationPacket(Buffer input, Buffer output) {
    method handleFragmentationUnitPacket (line 202) | private int handleFragmentationUnitPacket(Buffer input, Buffer output) {
    class FrameAssembler (line 220) | public static class FrameAssembler {
      method put (line 239) | public void put(Buffer buffer) {
      method complete (line 311) | public boolean complete() {
      method copyToBuffer (line 339) | private void copyToBuffer(Buffer bDest) {
      method reset (line 391) | private void reset() {
      method getTimestamp (line 409) | public long getTimestamp() {
    class FrameAssemblerCollection (line 418) | public static class FrameAssemblerCollection {
      method put (line 429) | public void put(Buffer buffer) {
      method getLastActiveAssembler (line 439) | public FrameAssembler getLastActiveAssembler() {
      method createNewAssembler (line 449) | public int createNewAssembler(long timestamp) {
      method getAssembler (line 505) | public int getAssembler(long timestamp) {
      method removeOldestThan (line 525) | public void removeOldestThan(long timestamp) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/JavaPacketizer.java
  class JavaPacketizer (line 32) | public class JavaPacketizer extends VideoCodec {
    method JavaPacketizer (line 97) | public JavaPacketizer() {
    method process (line 100) | public int process(Buffer input, Buffer output) {
    method isToAddOrientationHeader (line 273) | private boolean isToAddOrientationHeader(byte[] h264Frame, VideoOrient...

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/NalUnitHeader.java
  class NalUnitHeader (line 34) | public class NalUnitHeader {
    method NalUnitHeader (line 58) | private NalUnitHeader(boolean forbiddenZeroBit, int nalRefId, int nalU...
    method isForbiddenBitSet (line 69) | public boolean isForbiddenBitSet() {
    method getNalRefId (line 78) | public int getNalRefId() {
    method getNalUnitType (line 87) | public NalUnitType getNalUnitType() {
    method isSingleNalUnitPacket (line 96) | public boolean isSingleNalUnitPacket() {
    method isAggregationPacket (line 112) | public boolean isAggregationPacket() {
    method isFragmentationUnit (line 123) | public boolean isFragmentationUnit() {
    method extract (line 134) | public static NalUnitHeader extract(byte[] h264Packet) {
    method extract (line 153) | public static void extract(byte[] h264Packet, NalUnitHeader header) {
    method extract (line 177) | public static NalUnitHeader extract(int position, byte[] h264Packet) {
    method extract (line 196) | public static void extract(int position, byte[] h264Packet, NalUnitHea...

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/NalUnitType.java
  type NalUnitType (line 26) | public enum NalUnitType {
    method parse (line 36) | public static NalUnitType parse(int value) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/decoder/NativeH264Decoder.java
  class NativeH264Decoder (line 21) | public class NativeH264Decoder {
    method NativeH264Decoder (line 23) | public NativeH264Decoder() {
    method InitDecoder (line 26) | public static native int InitDecoder();
    method DeinitDecoder (line 28) | public static native int DeinitDecoder();
    method DecodeAndConvert (line 30) | public static synchronized native int[] DecodeAndConvert(byte abyte0[]...
    method getLastDecodeStatus (line 33) | public static synchronized native int getLastDecodeStatus();

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/encoder/NativeH264Encoder.java
  class NativeH264Encoder (line 26) | public class NativeH264Encoder {
    method InitEncoder (line 28) | public static native int InitEncoder(NativeH264EncoderParams nativeH26...
    method ResizeAndEncodeFrame (line 31) | public static native byte[] ResizeAndEncodeFrame(byte abyte0[], long l...
    method EncodeFrame (line 35) | public static native byte[] EncodeFrame(byte abyte0[], long l, boolean...
    method getNAL (line 38) | public static native byte[] getNAL();
    method DeinitEncoder (line 40) | public static native int DeinitEncoder();
    method getLastEncodeStatus (line 42) | public static native int getLastEncodeStatus();

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/encoder/NativeH264EncoderParams.java
  class NativeH264EncoderParams (line 32) | public class NativeH264EncoderParams {
    method NativeH264EncoderParams (line 256) | public NativeH264EncoderParams() {
    method NativeH264EncoderParams (line 299) | public NativeH264EncoderParams(H264TypeProfile profileType, byte profi...
    method setProfilesAndLevel (line 321) | public void setProfilesAndLevel(String codecParams) {
    method getFrameWidth (line 339) | public int getFrameWidth() {
    method setFrameWidth (line 343) | public void setFrameWidth(int frameWidth) {
    method getFrameHeight (line 347) | public int getFrameHeight() {
    method setFrameHeight (line 351) | public void setFrameHeight(int frameHeight) {
    method getFrameRate (line 355) | public float getFrameRate() {
    method setFrameRate (line 359) | public void setFrameRate(float frameRate) {
    method getFrameOrientation (line 363) | public int getFrameOrientation() {
    method setFrameOrientation (line 367) | public void setFrameOrientation(int frameOrientation) {
    method getVideoFormat (line 371) | public int getVideoFormat() {
    method setVideoFormat (line 375) | public void setVideoFormat(int videoFormat) {
    method getEncodeID (line 379) | public int getEncodeID() {
    method setEncodeID (line 383) | public void setEncodeID(int encodeID) {
    method getProfile (line 387) | public int getProfile() {
    method setProfile (line 391) | public void setProfile(H264TypeProfile profile) {
    method getProfileIOP (line 395) | public byte getProfileIOP() {
    method setProfileIOP (line 399) | public void setProfileIOP(byte profileIOP) {
    method getLevel (line 403) | public int getLevel() {
    method setLevel (line 407) | public void setLevel(H264TypeLevel level) {
    method getNumLayer (line 411) | public int getNumLayer() {
    method setNumLayer (line 415) | public void setNumLayer(int numLayer) {
    method getBitRate (line 419) | public int getBitRate() {
    method setBitRate (line 423) | public void setBitRate(int bitRate) {
    method getEncMode (line 427) | public int getEncMode() {
    method setEncMode (line 431) | public void setEncMode(int encMode) {
    method isOutOfBandParamSet (line 435) | public boolean isOutOfBandParamSet() {
    method setOutOfBandParamSet (line 439) | public void setOutOfBandParamSet(boolean outOfBandParamSet) {
    method getOutputFormat (line 443) | public int getOutputFormat() {
    method setOutputFormat (line 447) | public void setOutputFormat(int outputFormat) {
    method getPacketSize (line 451) | public int getPacketSize() {
    method setPacketSize (line 455) | public void setPacketSize(int packetSize) {
    method getRateControlType (line 459) | public int getRateControlType() {
    method setRateControlType (line 463) | public void setRateControlType(int rateControlType) {
    method getBufferDelay (line 467) | public float getBufferDelay() {
    method setBufferDelay (line 471) | public void setBufferDelay(float bufferDelay) {
    method getIquant (line 475) | public int getIquant() {
    method setIquant (line 479) | public void setIquant(int iquant) {
    method getPquant (line 483) | public int getPquant() {
    method setiPquant (line 487) | public void setiPquant(int pquant) {
    method getBquant (line 491) | public int getBquant() {
    method setiBquant (line 495) | public void setiBquant(int bquant) {
    method isSceneDetection (line 499) | public boolean isSceneDetection() {
    method setSceneDetection (line 503) | public void setSceneDetection(boolean sceneDetection) {
    method getIFrameInterval (line 507) | public int getIFrameInterval() {
    method setIFrameInterval (line 511) | public void setIFrameInterval(int iFrameInterval) {
    method getNumIntraMBRefresh (line 515) | public int getNumIntraMBRefresh() {
    method setNumIntraMBRefresh (line 519) | public void setNumIntraMBRefresh(int numIntraMBRefresh) {
    method getClipDuration (line 523) | public int getClipDuration() {
    method setClipDuration (line 527) | public void setClipDuration(int clipDuration) {
    method getFSIBuff (line 531) | public byte[] getFSIBuff() {
    method setFSIBuff (line 535) | public void setFSIBuff(byte[] fSIBuff) {
    method getFSIBuffLength (line 539) | public int getFSIBuffLength() {
    method setFSIBuffLength (line 543) | public void setFSIBuffLength(int fSIBuffLength) {
    method parseH264TypeLevel (line 553) | public static int parseH264TypeLevel(H264TypeLevel level) {
    method parseH264TypeProfile (line 597) | public static int parseH264TypeProfile(H264TypeProfile profile) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264Profile.java
  class H264Profile (line 29) | public abstract class H264Profile {
    method H264Profile (line 100) | public H264Profile(String profileName, H264TypeLevel level, H264TypePr...
    method getCodeParams (line 116) | public String getCodeParams() {
    method getVideoWidth (line 120) | public int getVideoWidth() {
    method getVideoHeight (line 124) | public int getVideoHeight() {
    method getFrameRate (line 128) | public float getFrameRate() {
    method getBitRate (line 132) | public int getBitRate() {
    method getPacketSize (line 136) | public int getPacketSize() {
    method getLevel (line 140) | public H264TypeLevel getLevel() {
    method getType (line 144) | public H264TypeProfile getType() {
    method getLevelId (line 148) | public String getLevelId() {
    method getProfileName (line 152) | public String getProfileName() {
    method getProfileIOP (line 156) | public Byte getProfileIOP() {
    method getProfileIDCFromLevelId (line 166) | public static Byte getProfileIDCFromLevelId(final String profileLevelI...
    method getProfileIOPFromLevelId (line 176) | public static Byte getProfileIOPFromLevelId(final String profileLevelI...
    method getLevelIDCFromLevelId (line 186) | public static Byte getLevelIDCFromLevelId(final String profileLevelId) {
    method getProfileInformationFromLevelId (line 197) | private static Byte getProfileInformationFromLevelId(final String prof...
    method getProfile (line 211) | public static H264Profile getProfile(String profileId) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264Profile1.java
  class H264Profile1 (line 29) | public class H264Profile1 extends H264Profile {
    method H264Profile1 (line 61) | public H264Profile1() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264Profile1_1.java
  class H264Profile1_1 (line 29) | public class H264Profile1_1 extends H264Profile {
    method H264Profile1_1 (line 61) | public H264Profile1_1() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264Profile1_2.java
  class H264Profile1_2 (line 29) | public class H264Profile1_2 extends H264Profile {
    method H264Profile1_2 (line 63) | public H264Profile1_2() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264Profile1_3.java
  class H264Profile1_3 (line 29) | public class H264Profile1_3 extends H264Profile {
    method H264Profile1_3 (line 61) | public H264Profile1_3() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264Profile1b.java
  class H264Profile1b (line 29) | public class H264Profile1b extends H264Profile {
    method H264Profile1b (line 62) | public H264Profile1b() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264TypeLevel.java
  type H264TypeLevel (line 26) | public enum H264TypeLevel {
    method H264TypeLevel (line 54) | private H264TypeLevel(int decimalValue, H264ConstraintSetFlagType cons...
    method getDecimalValue (line 64) | public int getDecimalValue() {
    method getH264ConstraintSet3Flag (line 73) | public H264ConstraintSetFlagType getH264ConstraintSet3Flag() {
    method getH264LevelType (line 84) | public static H264TypeLevel getH264LevelType(int decimalValue,
    type H264ConstraintSetFlagType (line 99) | public enum H264ConstraintSetFlagType {
      method H264ConstraintSetFlagType (line 112) | private H264ConstraintSetFlagType(int decimalValue) {
      method getDecimalValue (line 121) | public int getDecimalValue() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/codec/video/h264/profiles/H264TypeProfile.java
  type H264TypeProfile (line 26) | public enum H264TypeProfile {
    method H264TypeProfile (line 42) | private H264TypeProfile(int decimalValue) {
    method getDecimalValue (line 51) | public int getDecimalValue() {
    method getH264ProfileType (line 61) | public static H264TypeProfile getH264ProfileType(int decimalValue) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/ReceptionReport.java
  class ReceptionReport (line 26) | public class ReceptionReport {
    method ReceptionReport (line 77) | public ReceptionReport(int ssrc) {
    method getSsrc (line 81) | public long getSsrc() {
    method setSsrc (line 85) | public int setSsrc(int ssrc) {
    method getFractionLost (line 89) | public double getFractionLost() {
    method setFractionLost (line 93) | public void setFractionLost(double fractionLost) {
    method getCumulativeNumberOfPacketsLost (line 97) | public int getCumulativeNumberOfPacketsLost() {
    method setCumulativeNumberOfPacketsLost (line 101) | public void setCumulativeNumberOfPacketsLost(int cumulativeNumberOfPac...
    method getExtendedHighestSequenceNumberReceived (line 105) | public long getExtendedHighestSequenceNumberReceived() {
    method setExtendedHighestSequenceNumberReceived (line 109) | public void setExtendedHighestSequenceNumberReceived(long extendedHigh...
    method getInterarrivalJitter (line 113) | public long getInterarrivalJitter() {
    method setInterarrivalJitter (line 117) | public void setInterarrivalJitter(long interarrivalJitter) {
    method getLastSenderReport (line 121) | public long getLastSenderReport() {
    method setLastSenderReport (line 125) | public void setLastSenderReport(long lastSenderReport) {
    method getDelaySinceLastSenderReport (line 129) | public long getDelaySinceLastSenderReport() {
    method setDelaySinceLastSenderReport (line 133) | public void setDelaySinceLastSenderReport(long delaySinceLastSenderRep...

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpAppPacket.java
  class RtcpAppPacket (line 29) | public class RtcpAppPacket extends RtcpPacket {
    method RtcpAppPacket (line 34) | public RtcpAppPacket(RtcpPacket parent) {
    method RtcpAppPacket (line 39) | public RtcpAppPacket(int ssrc, int name, int subtype, byte data[]) {
    method calcLength (line 54) | public int calcLength() {
    method assemble (line 58) | public void assemble(DataOutputStream out) throws IOException {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpByePacket.java
  class RtcpByePacket (line 29) | public class RtcpByePacket extends RtcpPacket {
    method RtcpByePacket (line 34) | public RtcpByePacket(RtcpPacket parent) {
    method RtcpByePacket (line 39) | public RtcpByePacket(int ssrc[], byte reason[]) {
    method calcLength (line 51) | public int calcLength() {
    method assemble (line 55) | public void assemble(DataOutputStream out) throws IOException {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpCompoundPacket.java
  class RtcpCompoundPacket (line 36) | public class RtcpCompoundPacket extends RtcpPacket {
    method RtcpCompoundPacket (line 39) | public RtcpCompoundPacket(Packet packet) {
    method RtcpCompoundPacket (line 44) | public RtcpCompoundPacket(RtcpPacket[] rtcppackets) {
    method assemble (line 49) | public void assemble(int i, boolean bool) throws IOException {
    method assemble (line 80) | public void assemble(DataOutputStream dataoutputstream) throws IOExcep...
    method calcLength (line 84) | public int calcLength() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpPacket.java
  class RtcpPacket (line 35) | public abstract class RtcpPacket extends Packet {
    method RtcpPacket (line 80) | public RtcpPacket() {
    method RtcpPacket (line 83) | public RtcpPacket(RtcpPacket rtcppacket) {
    method RtcpPacket (line 89) | public RtcpPacket(Packet packet) {
    method assemble (line 95) | public abstract void assemble(DataOutputStream dataoutputstream) throw...
    method calcLength (line 97) | public abstract int calcLength();

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpPacketReceiver.java
  class RtcpPacketReceiver (line 50) | public class RtcpPacketReceiver extends Thread implements Closeable {
    method RtcpPacketReceiver (line 81) | public RtcpPacketReceiver(int port, RtcpSession rtcpSession, int socke...
    method RtcpPacketReceiver (line 103) | public RtcpPacketReceiver(int port, RtcpSession rtcpSession) throws IO...
    method close (line 112) | public void close() throws IOException {
    method run (line 125) | public void run() {
    method getRtcpReport (line 174) | private RtcpReport getRtcpReport(DataInputStream in) throws IOException {
    method parseRtcpPacket (line 194) | private RtcpPacket parseRtcpPacket(Packet packet) throws IOException {
    method addRtcpListener (line 406) | public void addRtcpListener(RtcpEventListener listener) {
    method removeRtcpListener (line 418) | public void removeRtcpListener(RtcpEventListener listener) {
    method notifyRtcpListeners (line 430) | public void notifyRtcpListeners(RtcpEvent event) {
    method notifyRtcpListenersOfTimeout (line 440) | private void notifyRtcpListenersOfTimeout() {
    method getRtcpReceptionStats (line 454) | public RtcpStatisticsReceiver getRtcpReceptionStats() {
    method getConnection (line 463) | public DatagramConnection getConnection() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpPacketTransmitter.java
  class RtcpPacketTransmitter (line 40) | public class RtcpPacketTransmitter extends Thread implements Closeable {
    method RtcpPacketTransmitter (line 80) | public RtcpPacketTransmitter(String address, int port, RtcpSession rtc...
    method RtcpPacketTransmitter (line 106) | public RtcpPacketTransmitter(String address, int port, RtcpSession rtc...
    method close (line 132) | public void close() throws IOException {
    method run (line 159) | public void run() {
    method assembleRtcpPacket (line 231) | private byte[] assembleRtcpPacket() {
    method assembleSenderReportPacket (line 267) | private byte[] assembleSenderReportPacket() {
    method assembleReceiverReportPacket (line 311) | private byte[] assembleReceiverReportPacket() {
    method assembleRTCPReceptionReport (line 342) | private byte[] assembleRTCPReceptionReport() {
    method makereports (line 372) | public Vector<RtcpSdesPacket> makereports() {
    method transmit (line 394) | private void transmit(RtcpCompoundPacket packet) throws NetworkExcepti...
    method transmit (line 420) | private void transmit(byte packet[]) throws NetworkException {
    method getStatistics (line 434) | public RtcpStatisticsTransmitter getStatistics() {
    method sendSdesPacket (line 443) | private void sendSdesPacket() throws NetworkException {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpPacketUtils.java
  class RtcpPacketUtils (line 26) | public class RtcpPacketUtils {
    method longToBytes (line 35) | public static byte[] longToBytes(long data, int n) {
    method append (line 51) | public static byte[] append(byte[] pck1, byte[] pck2) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpReceiverReportPacket.java
  class RtcpReceiverReportPacket (line 29) | public class RtcpReceiverReportPacket extends RtcpPacket {
    method RtcpReceiverReportPacket (line 33) | public RtcpReceiverReportPacket(int i, RtcpReport[] rtcpreportblocks) {
    method RtcpReceiverReportPacket (line 40) | public RtcpReceiverReportPacket(RtcpPacket rtcppacket) {
    method assemble (line 45) | public void assemble(DataOutputStream dataoutputstream) throws IOExcep...
    method calcLength (line 61) | public int calcLength() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpReport.java
  class RtcpReport (line 26) | public class RtcpReport {
    method RtcpReport (line 35) | public RtcpReport(int ssrc, int fractionLost, int packetsLost, long la...
    method getDlsr (line 46) | public long getDlsr() {
    method getFractionLost (line 50) | public int getFractionLost() {
    method getJitter (line 54) | public int getJitter() {
    method getLsr (line 58) | public long getLsr() {
    method getPacketsLost (line 62) | public int getPacketsLost() {
    method getSsrc (line 66) | public int getSsrc() {
    method getLastSeq (line 70) | public long getLastSeq() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpSdesBlock.java
  class RtcpSdesBlock (line 26) | public class RtcpSdesBlock {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpSdesItem.java
  class RtcpSdesItem (line 32) | public class RtcpSdesItem {
    method RtcpSdesItem (line 36) | public RtcpSdesItem() {
    method RtcpSdesItem (line 39) | public RtcpSdesItem(int i, String string) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpSdesPacket.java
  class RtcpSdesPacket (line 29) | public class RtcpSdesPacket extends RtcpPacket {
    method RtcpSdesPacket (line 33) | public RtcpSdesPacket(RtcpPacket parent) {
    method RtcpSdesPacket (line 38) | public RtcpSdesPacket(RtcpSdesBlock sdes[]) {
    method calcLength (line 45) | public int calcLength() {
    method assemble (line 60) | public void assemble(DataOutputStream out) throws IOException {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpSenderReportPacket.java
  class RtcpSenderReportPacket (line 29) | public class RtcpSenderReportPacket extends RtcpPacket {
    method RtcpSenderReportPacket (line 38) | public RtcpSenderReportPacket(int i, RtcpReport[] rtcpreportblocks) {
    method RtcpSenderReportPacket (line 45) | public RtcpSenderReportPacket(RtcpPacket rtcppacket) {
    method assemble (line 50) | public void assemble(DataOutputStream dataoutputstream) throws IOExcep...
    method calcLength (line 71) | public int calcLength() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpSession.java
  class RtcpSession (line 28) | public class RtcpSession {
    method RtcpSession (line 147) | public RtcpSession(boolean isSender, double bandwidth) {
    method setMembers (line 173) | public void setMembers(int members) {
    method setSenders (line 182) | public void setSenders(int senders) {
    method getReportInterval (line 191) | public double getReportInterval() {
    method updateavgrtcpsize (line 234) | public void updateavgrtcpsize(int size) {
    method getMySource (line 243) | public RtpSource getMySource() {
    method currentTime (line 252) | public long currentTime() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpStatisticsReceiver.java
  class RtcpStatisticsReceiver (line 26) | public class RtcpStatisticsReceiver {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtcpStatisticsTransmitter.java
  class RtcpStatisticsTransmitter (line 26) | public class RtcpStatisticsTransmitter {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpExtensionHeader.java
  class RtpExtensionHeader (line 30) | public class RtpExtensionHeader implements Iterable<RtpExtensionHeader.E...
    method RtpExtensionHeader (line 45) | public RtpExtensionHeader() {
    method addElement (line 54) | public void addElement(int id, byte[] data) {
    method getElementById (line 64) | public ExtensionElement getElementById(int id) {
    method elementsCount (line 78) | public int elementsCount() {
    method iterator (line 82) | @Override
    class ExtensionElement (line 90) | public static class ExtensionElement {
      method ExtensionElement (line 94) | public ExtensionElement(int id, byte[] data) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpPacket.java
  class RtpPacket (line 34) | public class RtpPacket extends Packet {
    method RtpPacket (line 46) | public RtpPacket() {
    method RtpPacket (line 50) | public RtpPacket(Packet packet) {
    method assemble (line 56) | public void assemble(int length) throws NetworkException {
    method calcLength (line 96) | public int calcLength() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpPacketReceiver.java
  class RtpPacketReceiver (line 41) | public class RtpPacketReceiver extends Thread implements Closeable {
    method RtpPacketReceiver (line 100) | public RtpPacketReceiver(int port, RtcpSession rtcpSession, int socket...
    method RtpPacketReceiver (line 121) | public RtpPacketReceiver(int port, RtcpSession rtcpSession) throws IOE...
    method close (line 128) | public void close() {
    method run (line 137) | public void run() {
    method readRtpPacket (line 186) | public RtpPacket readRtpPacket() throws TimeoutException {
    method parseRtpPacket (line 218) | private RtpPacket parseRtpPacket(byte[] data) {
    method getRtpReceptionStats (line 280) | public RtpStatisticsReceiver getRtpReceptionStats() {
    method getConnection (line 289) | public DatagramConnection getConnection() {
    method extractExtensionHeader (line 301) | private void extractExtensionHeader(byte[] data, int length, int dataI...

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpPacketTransmitter.java
  class RtpPacketTransmitter (line 36) | public class RtpPacketTransmitter implements Closeable {
    method RtpPacketTransmitter (line 81) | public RtpPacketTransmitter(String address, int port, RtcpSession rtcp...
    method RtpPacketTransmitter (line 104) | public RtpPacketTransmitter(String address, int port, RtcpSession rtcp...
    method close (line 127) | public void close() throws IOException {
    method sendRtpPacket (line 143) | public void sendRtpPacket(Buffer buffer) throws NetworkException {
    method buildRtpPacket (line 164) | private RtpPacket buildRtpPacket(Buffer buffer) {
    method transmit (line 204) | private void transmit(Packet packet) throws NetworkException {
    method getStatistics (line 229) | public RtpStatisticsTransmitter getStatistics() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpSource.java
  class RtpSource (line 27) | public class RtpSource {
    method RtpSource (line 123) | RtpSource(int sourceSSRC) {
    method generateExtendedSequenceNumber (line 137) | public int generateExtendedSequenceNumber(int seq) {
    method receivedSenderReport (line 147) | public void receivedSenderReport(RtcpSenderReportPacket srp) {
    method receiveRtpPacket (line 160) | public void receiveRtpPacket(RtpPacket packet) {
    method generateReceptionReport (line 173) | public ReceptionReport generateReceptionReport() {
    method updateReceptionReport (line 185) | public void updateReceptionReport(ReceptionReport report) {
    method setSsrc (line 219) | public void setSsrc(int ssrc) {
    method initSeq (line 228) | private void initSeq(int sequenceNumber) {
    method updateSeq (line 245) | private int updateSeq(int seq) {
    method getExtendedSequenceNumber (line 301) | private int getExtendedSequenceNumber() {
    method getCname (line 310) | public static String getCname() {
    method setCname (line 319) | public static void setCname(String cname) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpStatisticsReceiver.java
  class RtpStatisticsReceiver (line 26) | public class RtpStatisticsReceiver {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/core/RtpStatisticsTransmitter.java
  class RtpStatisticsTransmitter (line 26) | public class RtpStatisticsTransmitter {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpApplicationEvent.java
  class RtcpApplicationEvent (line 28) | public class RtcpApplicationEvent extends RtcpEvent {
    method RtcpApplicationEvent (line 35) | public RtcpApplicationEvent(RtcpAppPacket packet) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpByeEvent.java
  class RtcpByeEvent (line 28) | public class RtcpByeEvent extends RtcpEvent {
    method RtcpByeEvent (line 35) | public RtcpByeEvent(RtcpByePacket packet) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpEvent.java
  class RtcpEvent (line 28) | public abstract class RtcpEvent {
    method RtcpEvent (line 39) | public RtcpEvent(RtcpPacket packet) {
    method getPacket (line 48) | public RtcpPacket getPacket() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpEventListener.java
  type RtcpEventListener (line 26) | public interface RtcpEventListener {
    method receiveRtcpEvent (line 32) | void receiveRtcpEvent(RtcpEvent event);
    method connectionTimeout (line 37) | void connectionTimeout();

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpReceiverReportEvent.java
  class RtcpReceiverReportEvent (line 28) | public class RtcpReceiverReportEvent extends RtcpEvent {
    method RtcpReceiverReportEvent (line 35) | public RtcpReceiverReportEvent(RtcpReceiverReportPacket packet) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpSdesEvent.java
  class RtcpSdesEvent (line 28) | public class RtcpSdesEvent extends RtcpEvent {
    method RtcpSdesEvent (line 35) | public RtcpSdesEvent(RtcpSdesPacket packet) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/event/RtcpSenderReportEvent.java
  class RtcpSenderReportEvent (line 28) | public class RtcpSenderReportEvent extends RtcpEvent {
    method RtcpSenderReportEvent (line 35) | public RtcpSenderReportEvent(RtcpSenderReportPacket packet) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/DummyFormat.java
  class DummyFormat (line 26) | public class DummyFormat extends Format {
    method DummyFormat (line 41) | public DummyFormat() {
    method getDataChunkSize (line 50) | public int getDataChunkSize() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/Format.java
  class Format (line 26) | public abstract class Format {
    method Format (line 48) | public Format(String codec, int payload) {
    method getCodec (line 58) | public String getCodec() {
    method getPayload (line 67) | public int getPayload() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/audio/AmrWbAudioFormat.java
  class AmrWbAudioFormat (line 26) | public class AmrWbAudioFormat extends AudioFormat {
    method AmrWbAudioFormat (line 41) | public AmrWbAudioFormat() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/audio/AudioFormat.java
  class AudioFormat (line 26) | public class AudioFormat extends Format {
    method AudioFormat (line 33) | public AudioFormat(String codec, int payload) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/data/DataFormat.java
  class DataFormat (line 26) | public class DataFormat extends Format {
    method DataFormat (line 41) | public DataFormat() {
    method DataFormat (line 50) | public DataFormat(String encoding) {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/video/CameraOptions.java
  type CameraOptions (line 26) | public enum CameraOptions {
    method CameraOptions (line 43) | private CameraOptions(int value) {
    method getValue (line 52) | public int getValue() {
    method convert (line 62) | public static CameraOptions convert(int value) {
    method isFrontCamera (line 74) | public boolean isFrontCamera() {
    method isBackCamera (line 83) | public boolean isBackCamera() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/video/H264VideoFormat.java
  class H264VideoFormat (line 26) | public class H264VideoFormat extends VideoFormat {
    method H264VideoFormat (line 41) | public H264VideoFormat() {

FILE: core/src/com/gsma/rcs/core/ims/protocol/rtp/format/video/Orientation.java
  type Orientation (line 26) | public enum Orientation {
    method Orientation (line 43) | private Orientation(int value) {
    method getValue (line 52) | p
Copy disabled (too large) Download .json
Condensed preview — 2092 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,890K chars).
[
  {
    "path": ".gitignore",
    "chars": 136,
    "preview": "*.bak\r\ngen\r\nbin\r\n.settings\r\n.idea\r\n.gradle\r\n*.iml\r\n*.jar\r\n*.classpath\r\n*.project\r\nbuild\r\ndoclava\r\nlocal.properties\r\n/gra"
  },
  {
    "path": "README.md",
    "chars": 3160,
    "preview": "# rcsjta\nRCS-e stack for Android with GSMA API **RCS-e stack for Android with GSMA API**\n\n<img src='https://github.com/a"
  },
  {
    "path": "RI/AndroidManifest.xml",
    "chars": 23025,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<manifest package=\"com.gsma.rcs.ri\"\n          xmlns:android=\"http"
  },
  {
    "path": "RI/LICENSE-2.0.txt",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "RI/README.md",
    "chars": 745,
    "preview": "# The Reference Implementation\n\nThis application shows how to use the RCSJTA api.<br>\nIt gives examples of use cases for"
  },
  {
    "path": "RI/build.gradle",
    "chars": 1754,
    "preview": "apply plugin: 'com.android.application'\n\nandroid {\n\n    //Required to support the old folder structure\n    sourceSets {\n"
  },
  {
    "path": "RI/build.xml",
    "chars": 2044,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project name=\"RI\" default=\"help\">\n\n\t<!-- This script to populate ./libs folder w"
  },
  {
    "path": "RI/default.properties",
    "chars": 466,
    "preview": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n# \n# "
  },
  {
    "path": "RI/proguard-project.txt",
    "chars": 781,
    "preview": "# To enable ProGuard in your project, edit project.properties\n# to define the proguard.config property as described in t"
  },
  {
    "path": "RI/project.properties",
    "chars": 606,
    "preview": "# This file is automatically generated by Android Tools.\n# Do not modify this file -- YOUR CHANGES WILL BE ERASED!\n#\n# T"
  },
  {
    "path": "RI/res/drawable/counter_circle.xml",
    "chars": 269,
    "preview": "<shape xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:shape=\"oval\">\n    <solid android:color=\"#F"
  },
  {
    "path": "RI/res/drawable/talk_item_rcs_in.xml",
    "chars": 1275,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ /************************************************************************"
  },
  {
    "path": "RI/res/drawable/talk_item_rcs_out.xml",
    "chars": 1275,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ /************************************************************************"
  },
  {
    "path": "RI/res/layout/app_about.xml",
    "chars": 1521,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/ask_permissions.xml",
    "chars": 782,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/audio_msg_record.xml",
    "chars": 2627,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/capabilities_list.xml",
    "chars": 840,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/capabilities_list_item.xml",
    "chars": 3905,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n      "
  },
  {
    "path": "RI/res/layout/capabilities_mine.xml",
    "chars": 3123,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/capabilities_refresh.xml",
    "chars": 703,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/capabilities_request.xml",
    "chars": 3736,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/chat_initiate_group.xml",
    "chars": 1056,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/chat_initiate_single.xml",
    "chars": 765,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/chat_list.xml",
    "chars": 832,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/chat_message_log_item.xml",
    "chars": 5913,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          "
  },
  {
    "path": "RI/res/layout/chat_send_file.xml",
    "chars": 3098,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          "
  },
  {
    "path": "RI/res/layout/chat_service_config.xml",
    "chars": 4498,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/chat_view.xml",
    "chars": 2671,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/contact_list_item.xml",
    "chars": 1687,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n      "
  },
  {
    "path": "RI/res/layout/contacts_blocking.xml",
    "chars": 906,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/contacts_rcs_list.xml",
    "chars": 831,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/contacts_vcard.xml",
    "chars": 903,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/delivery_info_item.xml",
    "chars": 1707,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    an"
  },
  {
    "path": "RI/res/layout/delivery_info_list.xml",
    "chars": 540,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/extension_initiate_session.xml",
    "chars": 894,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/extension_messaging_session_view.xml",
    "chars": 2052,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/extension_send_instant_message.xml",
    "chars": 886,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/extension_session_list.xml",
    "chars": 832,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/extension_streaming_session_view.xml",
    "chars": 4301,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    an"
  },
  {
    "path": "RI/res/layout/filetransfer_custom_title.xml",
    "chars": 729,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/filetransfer_initiate.xml",
    "chars": 3146,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          "
  },
  {
    "path": "RI/res/layout/filetransfer_log_item.xml",
    "chars": 9053,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n          "
  },
  {
    "path": "RI/res/layout/filetransfer_receive.xml",
    "chars": 3655,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    androi"
  },
  {
    "path": "RI/res/layout/filetransfer_send_multi_file.xml",
    "chars": 962,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/filetransfer_send_multi_file_item.xml",
    "chars": 2097,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/filetransfer_service_config.xml",
    "chars": 2999,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n         "
  },
  {
    "path": "RI/res/layout/fileupload_initiate.xml",
    "chars": 1693,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/gchat_item_rcs_chat_in.xml",
    "chars": 1989,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/gchat_item_rcs_chat_out.xml",
    "chars": 1639,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/gchat_item_rcs_file_transfer_in.xml",
    "chars": 2129,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/gchat_item_rcs_file_transfer_out.xml",
    "chars": 2128,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/geoloc_display.xml",
    "chars": 335,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<fragment xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:"
  },
  {
    "path": "RI/res/layout/geoloc_edit.xml",
    "chars": 2561,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/geoloc_sharing_initiate.xml",
    "chars": 1808,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/geoloc_sharing_receive.xml",
    "chars": 1841,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/geoloc_show.xml",
    "chars": 4464,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/groupchat_event_view_item.xml",
    "chars": 1392,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/history_log_sharing.xml",
    "chars": 1239,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/image_sharing_initiate.xml",
    "chars": 2189,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/image_sharing_receive.xml",
    "chars": 1844,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/intents_apps.xml",
    "chars": 900,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/ri_list.xml",
    "chars": 1103,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/service_configuration.xml",
    "chars": 2525,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/service_registration.xml",
    "chars": 679,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/service_status.xml",
    "chars": 1170,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/sharing_log_geoloc_item.xml",
    "chars": 2725,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/sharing_log_image_item.xml",
    "chars": 3805,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/sharing_log_list.xml",
    "chars": 2681,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    an"
  },
  {
    "path": "RI/res/layout/sharing_log_video_item.xml",
    "chars": 3373,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TableLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andro"
  },
  {
    "path": "RI/res/layout/talk_item_rcs_chat_in.xml",
    "chars": 1585,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/talk_item_rcs_chat_out.xml",
    "chars": 1617,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/talk_item_rcs_file_transfer_in.xml",
    "chars": 1782,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/talk_item_rcs_file_transfer_out.xml",
    "chars": 1815,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n        "
  },
  {
    "path": "RI/res/layout/talk_log_group_item.xml",
    "chars": 3982,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ /************************************************************************"
  },
  {
    "path": "RI/res/layout/talk_log_one_to_one_item.xml",
    "chars": 3744,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?><!--\n  ~ /************************************************************************"
  },
  {
    "path": "RI/res/layout/utils_smiley_menu_item.xml",
    "chars": 1479,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/utils_spinner_item.xml",
    "chars": 395,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<TextView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:"
  },
  {
    "path": "RI/res/layout/video_sharing_incoming.xml",
    "chars": 1470,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    andr"
  },
  {
    "path": "RI/res/layout/video_sharing_outgoing.xml",
    "chars": 2126,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    and"
  },
  {
    "path": "RI/res/menu/menu_1to1_talk.xml",
    "chars": 1307,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!--\n  ~ /***********************************************************************"
  },
  {
    "path": "RI/res/menu/menu_1to1_talk_item.xml",
    "chars": 664,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item\n     "
  },
  {
    "path": "RI/res/menu/menu_ft.xml",
    "chars": 222,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n    "
  },
  {
    "path": "RI/res/menu/menu_gchat_item.xml",
    "chars": 674,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item\n     "
  },
  {
    "path": "RI/res/menu/menu_geoloc_sharing.xml",
    "chars": 278,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item\n   "
  },
  {
    "path": "RI/res/menu/menu_group_chat.xml",
    "chars": 1377,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item\n   "
  },
  {
    "path": "RI/res/menu/menu_historylog.xml",
    "chars": 378,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n    "
  },
  {
    "path": "RI/res/menu/menu_image_sharing.xml",
    "chars": 278,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item\n   "
  },
  {
    "path": "RI/res/menu/menu_initiate_ft.xml",
    "chars": 329,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n    "
  },
  {
    "path": "RI/res/menu/menu_log.xml",
    "chars": 266,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n    "
  },
  {
    "path": "RI/res/menu/menu_log_item.xml",
    "chars": 224,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item\n     "
  },
  {
    "path": "RI/res/menu/menu_log_sharing_item.xml",
    "chars": 339,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <item\n    "
  },
  {
    "path": "RI/res/menu/menu_mm_session.xml",
    "chars": 278,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item\n   "
  },
  {
    "path": "RI/res/menu/menu_video_sharing.xml",
    "chars": 278,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<menu xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item\n   "
  },
  {
    "path": "RI/res/values/filetotransfer.xml",
    "chars": 259,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string-array name=\"select_filetotransfer\">\n        <item>Image "
  },
  {
    "path": "RI/res/values/quicktexts.xml",
    "chars": 516,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <string-array name=\"select_quicktext\">\n        <item>Hello</item"
  },
  {
    "path": "RI/res/values/smileys.xml",
    "chars": 2254,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <!--\n         NOTE: if you change anything about this array, you"
  },
  {
    "path": "RI/res/values/strings.xml",
    "chars": 32087,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <!-- Application -->\n    <string name=\"app_name\">RCS RI</string>"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/AboutRI.java",
    "chars": 3052,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/DeviceBoot.java",
    "chars": 1342,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/RI.java",
    "chars": 6845,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/RcsServiceNotifManager.java",
    "chars": 11290,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/RiApplication.java",
    "chars": 8346,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/capabilities/CapabilitiesList.java",
    "chars": 8869,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/capabilities/MyCapabilities.java",
    "chars": 3405,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/capabilities/RequestAllCapabilities.java",
    "chars": 3306,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/capabilities/RequestCapabilities.java",
    "chars": 10484,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/capabilities/TestCapabilitiesApi.java",
    "chars": 2429,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/contacts/BlockingContact.java",
    "chars": 5117,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/contacts/ContactVCard.java",
    "chars": 4361,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/contacts/RcsContactsList.java",
    "chars": 8041,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/contacts/TestContactsApi.java",
    "chars": 3213,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/InitiateMultimediaSession.java",
    "chars": 2967,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/InstantMessageReceiver.java",
    "chars": 2368,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/MultiMediaSessionIntentService.java",
    "chars": 7268,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/MultimediaSessionList.java",
    "chars": 2375,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/SendInstantMessage.java",
    "chars": 3941,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/SessionInvitationReceiver.java",
    "chars": 1290,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/TestMultimediaSessionApi.java",
    "chars": 2918,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/messaging/InitiateMessagingSession.java",
    "chars": 1694,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/messaging/MessagingSessionList.java",
    "chars": 3052,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/messaging/MessagingSessionUtils.java",
    "chars": 1439,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/messaging/MessagingSessionView.java",
    "chars": 17277,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/streaming/InitiateStreamingSession.java",
    "chars": 1694,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/streaming/StreamingSessionList.java",
    "chars": 3051,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/streaming/StreamingSessionUtils.java",
    "chars": 1135,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/extension/streaming/StreamingSessionView.java",
    "chars": 17809,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/intents/TestIntentApps.java",
    "chars": 4009,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/GroupDeliveryInfoList.java",
    "chars": 5542,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/GroupTalkView.java",
    "chars": 48048,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/OneToOneTalkView.java",
    "chars": 41279,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/TalkList.java",
    "chars": 18361,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/TalkListUpdate.java",
    "chars": 9653,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/TestMessagingApi.java",
    "chars": 2370,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/BasicViewHolder.java",
    "chars": 3618,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/GroupDeliveryInfoCursorAdapter.java",
    "chars": 6116,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/RcsChatInViewHolder.java",
    "chars": 1718,
    "preview": "/*\n * ******************************************************************************\n *  * Software Name : RCS IMS Stack"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/RcsChatOutViewHolder.java",
    "chars": 1382,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/RcsFileTransferInViewHolder.java",
    "chars": 2980,
    "preview": "/*\n * ******************************************************************************\n *  * Software Name : RCS IMS Stack"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/RcsFileTransferOutViewHolder.java",
    "chars": 1640,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/TalkCursorAdapter.java",
    "chars": 25095,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/TalkListArrayAdapter.java",
    "chars": 6101,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/adapter/TalkListArrayItem.java",
    "chars": 4978,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/ChatCursorObserver.java",
    "chars": 1672,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/ChatMessageDAO.java",
    "chars": 7981,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/ChatMessageLogView.java",
    "chars": 6074,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/ChatPendingIntentManager.java",
    "chars": 5894,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/ChatServiceConfigActivity.java",
    "chars": 5328,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/ISendFile.java",
    "chars": 2016,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/IsComposingManager.java",
    "chars": 5563,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/SendFile.java",
    "chars": 14333,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/TestChatApi.java",
    "chars": 4862,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatDAO.java",
    "chars": 5540,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatIntentService.java",
    "chars": 9746,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatInvitationReceiver.java",
    "chars": 1276,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/group/GroupChatMessageReceiver.java",
    "chars": 1260,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/group/InitiateGroupChat.java",
    "chars": 5665,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/group/SendGroupFile.java",
    "chars": 8327,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/single/InitiateSingleChat.java",
    "chars": 6278,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/single/SendSingleFile.java",
    "chars": 7629,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/single/SingleChatIntentService.java",
    "chars": 10035,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/single/SingleChatInvitationReceiver.java",
    "chars": 1264,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/chat/single/UndeliveredMessageReceiver.java",
    "chars": 1266,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/AudioMediaPlayer.java",
    "chars": 3274,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/AudioMessageRecordActivity.java",
    "chars": 8422,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/AudioRecorder.java",
    "chars": 4488,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferDAO.java",
    "chars": 14563,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferIntentService.java",
    "chars": 10620,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferInvitationReceiver.java",
    "chars": 1277,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferLogView.java",
    "chars": 7443,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferResumeReceiver.java",
    "chars": 1269,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/FileTransferServiceConfigActivity.java",
    "chars": 8641,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/InitiateFileTransfer.java",
    "chars": 25807,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/ReceiveFileTransfer.java",
    "chars": 29602,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/TestFileTransferApi.java",
    "chars": 2095,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/UndeliveredFileReceiver.java",
    "chars": 1266,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/FileTransferProperties.java",
    "chars": 3893,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/ISendMultiFile.java",
    "chars": 2241,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/SendMultiFile.java",
    "chars": 18873,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/SendMultiFileGroupChat.java",
    "chars": 6863,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/filetransfer/multi/SendMultiFileSingleChat.java",
    "chars": 6640,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/geoloc/DisplayGeoloc.java",
    "chars": 8475,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/geoloc/EditGeoloc.java",
    "chars": 6922,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/geoloc/SelectGeoloc.java",
    "chars": 2223,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/messaging/geoloc/ShowGeoloc.java",
    "chars": 3251,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/permissions/PermissionsActivity.java",
    "chars": 6579,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/service/RegistrationStatus.java",
    "chars": 4194,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/service/ServiceConfigurationActivity.java",
    "chars": 10043,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/service/ServiceStatus.java",
    "chars": 6326,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/service/TestServiceApi.java",
    "chars": 2241,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/SharingListView.java",
    "chars": 33518,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/TestSharingApi.java",
    "chars": 2656,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingDAO.java",
    "chars": 4973,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingIntentService.java",
    "chars": 5623,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingInvitationReceiver.java",
    "chars": 1272,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/geoloc/GeolocSharingLogView.java",
    "chars": 4181,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/geoloc/InitiateGeolocSharing.java",
    "chars": 14146,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/geoloc/ReceiveGeolocSharing.java",
    "chars": 12416,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingDAO.java",
    "chars": 9104,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n * <p/"
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingIntentService.java",
    "chars": 5779,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  },
  {
    "path": "RI/src/com/gsma/rcs/ri/sharing/image/ImageSharingInvitationReceiver.java",
    "chars": 1268,
    "preview": "/*******************************************************************************\n * Software Name : RCS IMS Stack\n *\n * "
  }
]

// ... and 1892 more files (download for full content)

About this extraction

This page contains the full source code of the android-rcs/rcsjta GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2092 files (13.4 MB), approximately 3.6M tokens, and a symbol index with 16422 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!