├── .gitignore
├── .idea
├── .name
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
└── vcs.xml
├── README.md
├── app
├── .gitignore
├── build.gradle
├── libs
│ ├── httpclient-4.1.3.jar
│ ├── httpcore-4.1.4.jar
│ └── mpandroidchartlibrary-2-2-4.jar
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── com
│ │ └── cqupt
│ │ └── xmpp
│ │ └── ApplicationTest.java
│ ├── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ ├── com
│ │ │ ├── cqupt
│ │ │ │ └── xmpp
│ │ │ │ │ ├── activity
│ │ │ │ │ ├── BJActivity.java
│ │ │ │ │ ├── ChatActivity.java
│ │ │ │ │ ├── ChatWithNodeActivity.java
│ │ │ │ │ ├── DMActivity.java
│ │ │ │ │ ├── GDActivity.java
│ │ │ │ │ ├── KGNodeActivity.java
│ │ │ │ │ ├── LEDActivity.java
│ │ │ │ │ ├── LoginActivity.java
│ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ └── SubscribedNodeActivity.java
│ │ │ │ │ ├── adapter
│ │ │ │ │ ├── ChatWithNodeAdapter.java
│ │ │ │ │ ├── MyExpandableListViewAdapter.java
│ │ │ │ │ ├── MyFragmentPagerAdapter.java
│ │ │ │ │ ├── MySubscribeNodesAdapter.java
│ │ │ │ │ └── SessionFragmentAdapter.java
│ │ │ │ │ ├── base
│ │ │ │ │ ├── BaseActivity.java
│ │ │ │ │ └── BaseFragment.java
│ │ │ │ │ ├── bean
│ │ │ │ │ ├── ChatMessage.java
│ │ │ │ │ ├── ChatSession.java
│ │ │ │ │ └── NodeSubStatus.java
│ │ │ │ │ ├── db
│ │ │ │ │ ├── ChatMsgDao.java
│ │ │ │ │ ├── ChatSesionDao.java
│ │ │ │ │ ├── DBColumns.java
│ │ │ │ │ ├── DBHelper.java
│ │ │ │ │ └── NodeStatusDao.java
│ │ │ │ │ ├── fragment
│ │ │ │ │ ├── ContactFragment.java
│ │ │ │ │ ├── DiscoverFragment.java
│ │ │ │ │ └── MessageFragment.java
│ │ │ │ │ ├── listener
│ │ │ │ │ ├── AlarmListener.java
│ │ │ │ │ ├── CheckConnectionListener.java
│ │ │ │ │ ├── MsgListener.java
│ │ │ │ │ ├── MyPacketListener.java
│ │ │ │ │ └── SessionAlarmListener.java
│ │ │ │ │ ├── manager
│ │ │ │ │ └── XmppConnectionManager.java
│ │ │ │ │ ├── packet
│ │ │ │ │ ├── BjMessage.java
│ │ │ │ │ ├── DmMessage.java
│ │ │ │ │ ├── FanDCMessage.java
│ │ │ │ │ ├── GdMessage.java
│ │ │ │ │ ├── GetDataResp.java
│ │ │ │ │ ├── GetNodeData.java
│ │ │ │ │ ├── LedMessage.java
│ │ │ │ │ ├── SubscribNode.java
│ │ │ │ │ ├── SubscribResp.java
│ │ │ │ │ ├── UnsubNode.java
│ │ │ │ │ ├── UnsubNodeReq.java
│ │ │ │ │ ├── WriteDataToNode.java
│ │ │ │ │ └── WriteNodeResp.java
│ │ │ │ │ ├── provider
│ │ │ │ │ ├── GetDataRespProvider.java
│ │ │ │ │ ├── SubscribRespProvider.java
│ │ │ │ │ ├── UnsubNodeReqProvider.java
│ │ │ │ │ └── WriteNodeRespProvider.java
│ │ │ │ │ ├── service
│ │ │ │ │ ├── IotXmppService.java
│ │ │ │ │ └── PlayAlarmSoundService.java
│ │ │ │ │ ├── utils
│ │ │ │ │ ├── ActivityUtils.java
│ │ │ │ │ ├── ColorUtils.java
│ │ │ │ │ ├── ConstUtil.java
│ │ │ │ │ ├── DateUtils.java
│ │ │ │ │ ├── DensityUtil.java
│ │ │ │ │ ├── PreferencesUtils.java
│ │ │ │ │ ├── ScreenUtils.java
│ │ │ │ │ └── ToastUtils.java
│ │ │ │ │ └── widght
│ │ │ │ │ ├── CatLoadingView.java
│ │ │ │ │ ├── ChoiceListDialog.java
│ │ │ │ │ ├── CircleImageView.java
│ │ │ │ │ ├── DropdownListView.java
│ │ │ │ │ ├── EyelidView.java
│ │ │ │ │ ├── GraduallyTextView.java
│ │ │ │ │ ├── LoadingProgressDialog.java
│ │ │ │ │ ├── MyMarkerView.java
│ │ │ │ │ ├── RevealView
│ │ │ │ │ ├── BakedBezierInterpolator.java
│ │ │ │ │ └── RelativeRevealView.java
│ │ │ │ │ ├── SwipeBackActivity.java
│ │ │ │ │ ├── SwipeBackActivityBase.java
│ │ │ │ │ ├── SwipeBackActivityHelper.java
│ │ │ │ │ ├── SwipeBackLayout.java
│ │ │ │ │ ├── SwitchButton.java
│ │ │ │ │ ├── Utils.java
│ │ │ │ │ └── ViewDragHelper.java
│ │ │ ├── kenai
│ │ │ │ └── jbosh
│ │ │ │ │ ├── AbstractAttr.java
│ │ │ │ │ ├── AbstractBody.java
│ │ │ │ │ ├── AbstractIntegerAttr.java
│ │ │ │ │ ├── ApacheHTTPResponse.java
│ │ │ │ │ ├── ApacheHTTPSender.java
│ │ │ │ │ ├── AttrAccept.java
│ │ │ │ │ ├── AttrAck.java
│ │ │ │ │ ├── AttrCharsets.java
│ │ │ │ │ ├── AttrHold.java
│ │ │ │ │ ├── AttrInactivity.java
│ │ │ │ │ ├── AttrMaxPause.java
│ │ │ │ │ ├── AttrPause.java
│ │ │ │ │ ├── AttrPolling.java
│ │ │ │ │ ├── AttrRequests.java
│ │ │ │ │ ├── AttrSessionID.java
│ │ │ │ │ ├── AttrVersion.java
│ │ │ │ │ ├── AttrWait.java
│ │ │ │ │ ├── Attributes.java
│ │ │ │ │ ├── BOSHClient.java
│ │ │ │ │ ├── BOSHClientConfig.java
│ │ │ │ │ ├── BOSHClientConnEvent.java
│ │ │ │ │ ├── BOSHClientConnListener.java
│ │ │ │ │ ├── BOSHClientRequestListener.java
│ │ │ │ │ ├── BOSHClientResponseListener.java
│ │ │ │ │ ├── BOSHException.java
│ │ │ │ │ ├── BOSHMessageEvent.java
│ │ │ │ │ ├── BodyParser.java
│ │ │ │ │ ├── BodyParserResults.java
│ │ │ │ │ ├── BodyParserSAX.java
│ │ │ │ │ ├── BodyParserXmlPull.java
│ │ │ │ │ ├── BodyQName.java
│ │ │ │ │ ├── CMSessionParams.java
│ │ │ │ │ ├── ComposableBody.java
│ │ │ │ │ ├── GZIPCodec.java
│ │ │ │ │ ├── HTTPExchange.java
│ │ │ │ │ ├── HTTPResponse.java
│ │ │ │ │ ├── HTTPSender.java
│ │ │ │ │ ├── QName.java
│ │ │ │ │ ├── RequestIDSequence.java
│ │ │ │ │ ├── ServiceLib.java
│ │ │ │ │ ├── StaticBody.java
│ │ │ │ │ ├── TerminalBindingCondition.java
│ │ │ │ │ ├── ZLIBCodec.java
│ │ │ │ │ └── package.html
│ │ │ └── novell
│ │ │ │ └── sasl
│ │ │ │ └── client
│ │ │ │ ├── DigestChallenge.java
│ │ │ │ ├── DigestMD5SaslClient.java
│ │ │ │ ├── DirectiveList.java
│ │ │ │ ├── ParsedDirective.java
│ │ │ │ ├── ResponseAuth.java
│ │ │ │ └── TokenParser.java
│ │ ├── de
│ │ │ └── measite
│ │ │ │ └── smack
│ │ │ │ ├── AndroidDebugger.java
│ │ │ │ ├── Sasl.java
│ │ │ │ └── SaslClientFactory.java
│ │ └── org
│ │ │ ├── apache
│ │ │ ├── harmony
│ │ │ │ └── javax
│ │ │ │ │ └── security
│ │ │ │ │ ├── auth
│ │ │ │ │ ├── AuthPermission.java
│ │ │ │ │ ├── DestroyFailedException.java
│ │ │ │ │ ├── Destroyable.java
│ │ │ │ │ ├── PrivateCredentialPermission.java
│ │ │ │ │ ├── RefreshFailedException.java
│ │ │ │ │ ├── Refreshable.java
│ │ │ │ │ ├── Subject.java
│ │ │ │ │ ├── SubjectDomainCombiner.java
│ │ │ │ │ ├── callback
│ │ │ │ │ │ ├── Callback.java
│ │ │ │ │ │ ├── CallbackHandler.java
│ │ │ │ │ │ ├── ChoiceCallback.java
│ │ │ │ │ │ ├── ConfirmationCallback.java
│ │ │ │ │ │ ├── LanguageCallback.java
│ │ │ │ │ │ ├── NameCallback.java
│ │ │ │ │ │ ├── PasswordCallback.java
│ │ │ │ │ │ ├── TextInputCallback.java
│ │ │ │ │ │ ├── TextOutputCallback.java
│ │ │ │ │ │ └── UnsupportedCallbackException.java
│ │ │ │ │ ├── login
│ │ │ │ │ │ ├── AccountException.java
│ │ │ │ │ │ ├── AccountExpiredException.java
│ │ │ │ │ │ ├── AccountLockedException.java
│ │ │ │ │ │ ├── AccountNotFoundException.java
│ │ │ │ │ │ ├── AppConfigurationEntry.java
│ │ │ │ │ │ ├── Configuration.java
│ │ │ │ │ │ ├── CredentialException.java
│ │ │ │ │ │ ├── CredentialExpiredException.java
│ │ │ │ │ │ ├── CredentialNotFoundException.java
│ │ │ │ │ │ ├── FailedLoginException.java
│ │ │ │ │ │ ├── LoginContext.java
│ │ │ │ │ │ └── LoginException.java
│ │ │ │ │ └── spi
│ │ │ │ │ │ └── LoginModule.java
│ │ │ │ │ └── sasl
│ │ │ │ │ ├── AuthenticationException.java
│ │ │ │ │ ├── AuthorizeCallback.java
│ │ │ │ │ ├── RealmCallback.java
│ │ │ │ │ ├── RealmChoiceCallback.java
│ │ │ │ │ ├── Sasl.java
│ │ │ │ │ ├── SaslClient.java
│ │ │ │ │ ├── SaslClientFactory.java
│ │ │ │ │ ├── SaslException.java
│ │ │ │ │ ├── SaslServer.java
│ │ │ │ │ └── SaslServerFactory.java
│ │ │ └── qpid
│ │ │ │ └── management
│ │ │ │ └── common
│ │ │ │ └── sasl
│ │ │ │ ├── CRAMMD5HashedSaslClientFactory.java
│ │ │ │ ├── ClientSaslFactory.java
│ │ │ │ ├── Constants.java
│ │ │ │ ├── JCAProvider.java
│ │ │ │ ├── PlainSaslClient.java
│ │ │ │ ├── SaslProvider.java
│ │ │ │ ├── UserPasswordCallbackHandler.java
│ │ │ │ └── UsernameHashedPasswordCallbackHandler.java
│ │ │ ├── jivesoftware
│ │ │ ├── smack
│ │ │ │ ├── AbstractConnectionListener.java
│ │ │ │ ├── AccountManager.java
│ │ │ │ ├── AndroidConnectionConfiguration.java
│ │ │ │ ├── BOSHConfiguration.java
│ │ │ │ ├── BOSHConnection.java
│ │ │ │ ├── BOSHPacketReader.java
│ │ │ │ ├── Chat.java
│ │ │ │ ├── ChatManager.java
│ │ │ │ ├── ChatManagerListener.java
│ │ │ │ ├── Connection.java
│ │ │ │ ├── Connection.java.orig
│ │ │ │ ├── ConnectionConfiguration.java
│ │ │ │ ├── ConnectionCreationListener.java
│ │ │ │ ├── ConnectionListener.java
│ │ │ │ ├── MessageListener.java
│ │ │ │ ├── NonSASLAuthentication.java
│ │ │ │ ├── OpenTrustManager.java
│ │ │ │ ├── PacketCollector.java
│ │ │ │ ├── PacketInterceptor.java
│ │ │ │ ├── PacketListener.java
│ │ │ │ ├── PacketReader.java
│ │ │ │ ├── PacketWriter.java
│ │ │ │ ├── PrivacyList.java
│ │ │ │ ├── PrivacyListListener.java
│ │ │ │ ├── PrivacyListManager.java
│ │ │ │ ├── ReconnectionManager.java
│ │ │ │ ├── Roster.java
│ │ │ │ ├── RosterEntry.java
│ │ │ │ ├── RosterGroup.java
│ │ │ │ ├── RosterListener.java
│ │ │ │ ├── RosterStorage.java
│ │ │ │ ├── SASLAuthentication.java
│ │ │ │ ├── SASLAuthentication.java.orig
│ │ │ │ ├── ServerTrustManager.java
│ │ │ │ ├── SmackAndroid.java
│ │ │ │ ├── SmackConfiguration.java
│ │ │ │ ├── UserAuthentication.java
│ │ │ │ ├── XMPPConnection.java
│ │ │ │ ├── XMPPException.java
│ │ │ │ ├── compression
│ │ │ │ │ ├── Java7ZlibInputOutputStream.java
│ │ │ │ │ ├── JzlibInputOutputStream.java
│ │ │ │ │ └── XMPPInputOutputStream.java
│ │ │ │ ├── debugger
│ │ │ │ │ ├── ConsoleDebugger.java
│ │ │ │ │ ├── SmackDebugger.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── filter
│ │ │ │ │ ├── AndFilter.java
│ │ │ │ │ ├── FromContainsFilter.java
│ │ │ │ │ ├── FromMatchesFilter.java
│ │ │ │ │ ├── IQTypeFilter.java
│ │ │ │ │ ├── MessageTypeFilter.java
│ │ │ │ │ ├── NotFilter.java
│ │ │ │ │ ├── OrFilter.java
│ │ │ │ │ ├── PacketExtensionFilter.java
│ │ │ │ │ ├── PacketFilter.java
│ │ │ │ │ ├── PacketIDFilter.java
│ │ │ │ │ ├── PacketTypeFilter.java
│ │ │ │ │ ├── ThreadFilter.java
│ │ │ │ │ ├── ToContainsFilter.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── package.html
│ │ │ │ ├── packet
│ │ │ │ │ ├── Authentication.java
│ │ │ │ │ ├── Bind.java
│ │ │ │ │ ├── DefaultPacketExtension.java
│ │ │ │ │ ├── IQ.java
│ │ │ │ │ ├── Message.java
│ │ │ │ │ ├── Packet.java
│ │ │ │ │ ├── PacketExtension.java
│ │ │ │ │ ├── Presence.java
│ │ │ │ │ ├── Privacy.java
│ │ │ │ │ ├── PrivacyItem.java
│ │ │ │ │ ├── Registration.java
│ │ │ │ │ ├── RosterPacket.java
│ │ │ │ │ ├── Session.java
│ │ │ │ │ ├── StreamError.java
│ │ │ │ │ ├── XMPPError.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── provider
│ │ │ │ │ ├── EmbeddedExtensionProvider.java
│ │ │ │ │ ├── IQProvider.java
│ │ │ │ │ ├── PacketExtensionProvider.java
│ │ │ │ │ ├── PrivacyProvider.java
│ │ │ │ │ ├── ProviderManager.java
│ │ │ │ │ └── package.html
│ │ │ │ ├── proxy
│ │ │ │ │ ├── DirectSocketFactory.java
│ │ │ │ │ ├── HTTPProxySocketFactory.java
│ │ │ │ │ ├── ProxyException.java
│ │ │ │ │ ├── ProxyInfo.java
│ │ │ │ │ ├── Socks4ProxySocketFactory.java
│ │ │ │ │ └── Socks5ProxySocketFactory.java
│ │ │ │ ├── sasl
│ │ │ │ │ ├── SASLAnonymous.java
│ │ │ │ │ ├── SASLCramMD5Mechanism.java
│ │ │ │ │ ├── SASLDigestMD5Mechanism.java
│ │ │ │ │ ├── SASLExternalMechanism.java
│ │ │ │ │ ├── SASLFacebookConnect.java
│ │ │ │ │ ├── SASLGSSAPIMechanism.java
│ │ │ │ │ ├── SASLMechanism.java
│ │ │ │ │ ├── SASLPlainMechanism.java
│ │ │ │ │ └── package.html
│ │ │ │ └── util
│ │ │ │ │ ├── Base32Encoder.java
│ │ │ │ │ ├── Base64.java
│ │ │ │ │ ├── Base64Encoder.java
│ │ │ │ │ ├── Cache.java
│ │ │ │ │ ├── DNSUtil.java
│ │ │ │ │ ├── DateFormatType.java
│ │ │ │ │ ├── ObservableReader.java
│ │ │ │ │ ├── ObservableWriter.java
│ │ │ │ │ ├── PacketParserUtils.java
│ │ │ │ │ ├── PacketParserUtils.java.orig
│ │ │ │ │ ├── ReaderListener.java
│ │ │ │ │ ├── StringEncoder.java
│ │ │ │ │ ├── StringUtils.java
│ │ │ │ │ ├── SyncPacketSend.java
│ │ │ │ │ ├── WriterListener.java
│ │ │ │ │ ├── collections
│ │ │ │ │ ├── AbstractEmptyIterator.java
│ │ │ │ │ ├── AbstractHashedMap.java
│ │ │ │ │ ├── AbstractKeyValue.java
│ │ │ │ │ ├── AbstractMapEntry.java
│ │ │ │ │ ├── AbstractReferenceMap.java
│ │ │ │ │ ├── DefaultMapEntry.java
│ │ │ │ │ ├── EmptyIterator.java
│ │ │ │ │ ├── EmptyMapIterator.java
│ │ │ │ │ ├── IterableMap.java
│ │ │ │ │ ├── KeyValue.java
│ │ │ │ │ ├── MapIterator.java
│ │ │ │ │ ├── ReferenceMap.java
│ │ │ │ │ └── ResettableIterator.java
│ │ │ │ │ ├── dns
│ │ │ │ │ ├── DNSJavaResolver.java
│ │ │ │ │ ├── DNSResolver.java
│ │ │ │ │ ├── HostAddress.java
│ │ │ │ │ └── SRVRecord.java
│ │ │ │ │ └── package.html
│ │ │ └── smackx
│ │ │ │ ├── ChatState.java
│ │ │ │ ├── ChatStateListener.java
│ │ │ │ ├── ChatStateManager.java
│ │ │ │ ├── ConfigureProviderManager.java
│ │ │ │ ├── DefaultMessageEventRequestListener.java
│ │ │ │ ├── Form.java
│ │ │ │ ├── FormField.java
│ │ │ │ ├── Gateway.java
│ │ │ │ ├── GatewayManager.java
│ │ │ │ ├── GroupChatInvitation.java
│ │ │ │ ├── InitStaticCode.java
│ │ │ │ ├── LastActivityManager.java
│ │ │ │ ├── MessageEventManager.java
│ │ │ │ ├── MessageEventNotificationListener.java
│ │ │ │ ├── MessageEventRequestListener.java
│ │ │ │ ├── MultipleRecipientInfo.java
│ │ │ │ ├── MultipleRecipientManager.java
│ │ │ │ ├── NodeInformationProvider.java
│ │ │ │ ├── OfflineMessageHeader.java
│ │ │ │ ├── OfflineMessageManager.java
│ │ │ │ ├── PEPListener.java
│ │ │ │ ├── PEPManager.java
│ │ │ │ ├── PrivateDataManager.java
│ │ │ │ ├── RemoteRosterEntry.java
│ │ │ │ ├── ReportedData.java
│ │ │ │ ├── RosterExchangeListener.java
│ │ │ │ ├── RosterExchangeManager.java
│ │ │ │ ├── ServiceDiscoveryManager.java
│ │ │ │ ├── SharedGroupManager.java
│ │ │ │ ├── XHTMLManager.java
│ │ │ │ ├── XHTMLText.java
│ │ │ │ ├── bookmark
│ │ │ │ ├── BookmarkManager.java
│ │ │ │ ├── BookmarkedConference.java
│ │ │ │ ├── BookmarkedURL.java
│ │ │ │ ├── Bookmarks.java
│ │ │ │ └── SharedBookmark.java
│ │ │ │ ├── bytestreams
│ │ │ │ ├── BytestreamListener.java
│ │ │ │ ├── BytestreamManager.java
│ │ │ │ ├── BytestreamRequest.java
│ │ │ │ ├── BytestreamSession.java
│ │ │ │ ├── ibb
│ │ │ │ │ ├── CloseListener.java
│ │ │ │ │ ├── DataListener.java
│ │ │ │ │ ├── InBandBytestreamListener.java
│ │ │ │ │ ├── InBandBytestreamManager.java
│ │ │ │ │ ├── InBandBytestreamRequest.java
│ │ │ │ │ ├── InBandBytestreamSession.java
│ │ │ │ │ ├── InitiationListener.java
│ │ │ │ │ ├── packet
│ │ │ │ │ │ ├── Close.java
│ │ │ │ │ │ ├── Data.java
│ │ │ │ │ │ ├── DataPacketExtension.java
│ │ │ │ │ │ └── Open.java
│ │ │ │ │ └── provider
│ │ │ │ │ │ ├── CloseIQProvider.java
│ │ │ │ │ │ ├── DataPacketProvider.java
│ │ │ │ │ │ └── OpenIQProvider.java
│ │ │ │ └── socks5
│ │ │ │ │ ├── InitiationListener.java
│ │ │ │ │ ├── Socks5BytestreamListener.java
│ │ │ │ │ ├── Socks5BytestreamManager.java
│ │ │ │ │ ├── Socks5BytestreamRequest.java
│ │ │ │ │ ├── Socks5BytestreamSession.java
│ │ │ │ │ ├── Socks5Client.java
│ │ │ │ │ ├── Socks5ClientForInitiator.java
│ │ │ │ │ ├── Socks5Proxy.java
│ │ │ │ │ ├── Socks5Utils.java
│ │ │ │ │ ├── packet
│ │ │ │ │ └── Bytestream.java
│ │ │ │ │ └── provider
│ │ │ │ │ └── BytestreamsProvider.java
│ │ │ │ ├── carbons
│ │ │ │ ├── Carbon.java
│ │ │ │ └── CarbonManager.java
│ │ │ │ ├── commands
│ │ │ │ ├── AdHocCommand.java
│ │ │ │ ├── AdHocCommandManager.java
│ │ │ │ ├── AdHocCommandNote.java
│ │ │ │ ├── LocalCommand.java
│ │ │ │ ├── LocalCommandFactory.java
│ │ │ │ └── RemoteCommand.java
│ │ │ │ ├── debugger
│ │ │ │ └── package.html
│ │ │ │ ├── entitycaps
│ │ │ │ ├── EntityCapsManager.java
│ │ │ │ ├── cache
│ │ │ │ │ ├── EntityCapsPersistentCache.java
│ │ │ │ │ └── SimpleDirectoryPersistentCache.java
│ │ │ │ ├── packet
│ │ │ │ │ └── CapsExtension.java
│ │ │ │ └── provider
│ │ │ │ │ └── CapsExtensionProvider.java
│ │ │ │ ├── filetransfer
│ │ │ │ ├── FaultTolerantNegotiator.java
│ │ │ │ ├── FileTransfer.java
│ │ │ │ ├── FileTransferListener.java
│ │ │ │ ├── FileTransferManager.java
│ │ │ │ ├── FileTransferNegotiator.java
│ │ │ │ ├── FileTransferRequest.java
│ │ │ │ ├── IBBTransferNegotiator.java
│ │ │ │ ├── IncomingFileTransfer.java
│ │ │ │ ├── OutgoingFileTransfer.java
│ │ │ │ ├── Socks5TransferNegotiator.java
│ │ │ │ └── StreamNegotiator.java
│ │ │ │ ├── forward
│ │ │ │ └── Forwarded.java
│ │ │ │ ├── muc
│ │ │ │ ├── Affiliate.java
│ │ │ │ ├── ConnectionDetachedPacketCollector.java
│ │ │ │ ├── DeafOccupantInterceptor.java
│ │ │ │ ├── DefaultParticipantStatusListener.java
│ │ │ │ ├── DefaultUserStatusListener.java
│ │ │ │ ├── DiscussionHistory.java
│ │ │ │ ├── HostedRoom.java
│ │ │ │ ├── InvitationListener.java
│ │ │ │ ├── InvitationRejectionListener.java
│ │ │ │ ├── MultiUserChat.java
│ │ │ │ ├── Occupant.java
│ │ │ │ ├── PacketMultiplexListener.java
│ │ │ │ ├── ParticipantStatusListener.java
│ │ │ │ ├── RoomInfo.java
│ │ │ │ ├── RoomListenerMultiplexor.java
│ │ │ │ ├── SubjectUpdatedListener.java
│ │ │ │ ├── UserStatusListener.java
│ │ │ │ └── package.html
│ │ │ │ ├── package.html
│ │ │ │ ├── packet
│ │ │ │ ├── AdHocCommandData.java
│ │ │ │ ├── AttentionExtension.java
│ │ │ │ ├── ChatStateExtension.java
│ │ │ │ ├── DataForm.java
│ │ │ │ ├── DefaultPrivateData.java
│ │ │ │ ├── DelayInfo.java
│ │ │ │ ├── DelayInformation.java
│ │ │ │ ├── DiscoverInfo.java
│ │ │ │ ├── DiscoverItems.java
│ │ │ │ ├── Header.java
│ │ │ │ ├── HeadersExtension.java
│ │ │ │ ├── LastActivity.java
│ │ │ │ ├── MUCAdmin.java
│ │ │ │ ├── MUCInitialPresence.java
│ │ │ │ ├── MUCOwner.java
│ │ │ │ ├── MUCUser.java
│ │ │ │ ├── MessageEvent.java
│ │ │ │ ├── MultipleAddresses.java
│ │ │ │ ├── Nick.java
│ │ │ │ ├── OfflineMessageInfo.java
│ │ │ │ ├── OfflineMessageRequest.java
│ │ │ │ ├── PEPEvent.java
│ │ │ │ ├── PEPItem.java
│ │ │ │ ├── PEPPubSub.java
│ │ │ │ ├── PrivateData.java
│ │ │ │ ├── RosterExchange.java
│ │ │ │ ├── SharedGroupsInfo.java
│ │ │ │ ├── StreamInitiation.java
│ │ │ │ ├── Time.java
│ │ │ │ ├── VCard.java
│ │ │ │ ├── Version.java
│ │ │ │ ├── XHTMLExtension.java
│ │ │ │ └── package.html
│ │ │ │ ├── ping
│ │ │ │ ├── PingFailedListener.java
│ │ │ │ ├── PingManager.java
│ │ │ │ ├── ServerPingTask.java
│ │ │ │ ├── packet
│ │ │ │ │ ├── Ping.java
│ │ │ │ │ └── Pong.java
│ │ │ │ └── provider
│ │ │ │ │ └── PingProvider.java
│ │ │ │ ├── provider
│ │ │ │ ├── AdHocCommandDataProvider.java
│ │ │ │ ├── CapsExtensionProvider.java
│ │ │ │ ├── DataFormProvider.java
│ │ │ │ ├── DelayInfoProvider.java
│ │ │ │ ├── DelayInformationProvider.java
│ │ │ │ ├── DiscoverInfoProvider.java
│ │ │ │ ├── DiscoverItemsProvider.java
│ │ │ │ ├── EmbeddedExtensionProvider.java
│ │ │ │ ├── HeaderProvider.java
│ │ │ │ ├── HeadersProvider.java
│ │ │ │ ├── MUCAdminProvider.java
│ │ │ │ ├── MUCOwnerProvider.java
│ │ │ │ ├── MUCUserProvider.java
│ │ │ │ ├── MessageEventProvider.java
│ │ │ │ ├── MultipleAddressesProvider.java
│ │ │ │ ├── PEPProvider.java
│ │ │ │ ├── PrivateDataProvider.java
│ │ │ │ ├── RosterExchangeProvider.java
│ │ │ │ ├── StreamInitiationProvider.java
│ │ │ │ ├── VCardProvider.java
│ │ │ │ ├── XHTMLExtensionProvider.java
│ │ │ │ └── package.html
│ │ │ │ ├── pubsub
│ │ │ │ ├── AccessModel.java
│ │ │ │ ├── Affiliation.java
│ │ │ │ ├── AffiliationsExtension.java
│ │ │ │ ├── ChildrenAssociationPolicy.java
│ │ │ │ ├── CollectionNode.java
│ │ │ │ ├── ConfigurationEvent.java
│ │ │ │ ├── ConfigureForm.java
│ │ │ │ ├── ConfigureNodeFields.java
│ │ │ │ ├── EmbeddedPacketExtension.java
│ │ │ │ ├── EventElement.java
│ │ │ │ ├── EventElementType.java
│ │ │ │ ├── FormNode.java
│ │ │ │ ├── FormNodeType.java
│ │ │ │ ├── FormType.java
│ │ │ │ ├── GetItemsRequest.java
│ │ │ │ ├── Item.java
│ │ │ │ ├── ItemDeleteEvent.java
│ │ │ │ ├── ItemPublishEvent.java
│ │ │ │ ├── ItemReply.java
│ │ │ │ ├── ItemsExtension.java
│ │ │ │ ├── LeafNode.java
│ │ │ │ ├── Node.java
│ │ │ │ ├── NodeEvent.java
│ │ │ │ ├── NodeExtension.java
│ │ │ │ ├── NodeType.java
│ │ │ │ ├── OptionsExtension.java
│ │ │ │ ├── PayloadItem.java
│ │ │ │ ├── PresenceState.java
│ │ │ │ ├── PubSubElementType.java
│ │ │ │ ├── PubSubManager.java
│ │ │ │ ├── PublishItem.java
│ │ │ │ ├── PublishModel.java
│ │ │ │ ├── RetractItem.java
│ │ │ │ ├── SimplePayload.java
│ │ │ │ ├── SubscribeExtension.java
│ │ │ │ ├── SubscribeForm.java
│ │ │ │ ├── SubscribeOptionFields.java
│ │ │ │ ├── Subscription.java
│ │ │ │ ├── SubscriptionEvent.java
│ │ │ │ ├── SubscriptionsExtension.java
│ │ │ │ ├── UnsubscribeExtension.java
│ │ │ │ ├── listener
│ │ │ │ │ ├── ItemDeleteListener.java
│ │ │ │ │ ├── ItemEventListener.java
│ │ │ │ │ └── NodeConfigListener.java
│ │ │ │ ├── packet
│ │ │ │ │ ├── PubSub.java
│ │ │ │ │ ├── PubSubNamespace.java
│ │ │ │ │ └── SyncPacketSend.java
│ │ │ │ ├── provider
│ │ │ │ │ ├── AffiliationProvider.java
│ │ │ │ │ ├── AffiliationsProvider.java
│ │ │ │ │ ├── ConfigEventProvider.java
│ │ │ │ │ ├── EventProvider.java
│ │ │ │ │ ├── FormNodeProvider.java
│ │ │ │ │ ├── ItemProvider.java
│ │ │ │ │ ├── ItemsProvider.java
│ │ │ │ │ ├── PubSubProvider.java
│ │ │ │ │ ├── RetractEventProvider.java
│ │ │ │ │ ├── SimpleNodeProvider.java
│ │ │ │ │ ├── SubscriptionProvider.java
│ │ │ │ │ └── SubscriptionsProvider.java
│ │ │ │ └── util
│ │ │ │ │ ├── NodeUtils.java
│ │ │ │ │ └── XmlUtils.java
│ │ │ │ ├── receipts
│ │ │ │ ├── DeliveryReceipt.java
│ │ │ │ ├── DeliveryReceiptManager.java
│ │ │ │ └── DeliveryReceiptRequest.java
│ │ │ │ ├── search
│ │ │ │ ├── SimpleUserSearch.java
│ │ │ │ ├── UserSearch.java
│ │ │ │ └── UserSearchManager.java
│ │ │ │ └── workgroup
│ │ │ │ ├── MetaData.java
│ │ │ │ ├── QueueUser.java
│ │ │ │ ├── WorkgroupInvitation.java
│ │ │ │ ├── WorkgroupInvitationListener.java
│ │ │ │ ├── agent
│ │ │ │ ├── Agent.java
│ │ │ │ ├── AgentRoster.java
│ │ │ │ ├── AgentRosterListener.java
│ │ │ │ ├── AgentSession.java
│ │ │ │ ├── InvitationRequest.java
│ │ │ │ ├── Offer.java
│ │ │ │ ├── OfferConfirmation.java
│ │ │ │ ├── OfferConfirmationListener.java
│ │ │ │ ├── OfferContent.java
│ │ │ │ ├── OfferListener.java
│ │ │ │ ├── QueueUsersListener.java
│ │ │ │ ├── RevokedOffer.java
│ │ │ │ ├── TranscriptManager.java
│ │ │ │ ├── TranscriptSearchManager.java
│ │ │ │ ├── TransferRequest.java
│ │ │ │ ├── UserRequest.java
│ │ │ │ └── WorkgroupQueue.java
│ │ │ │ ├── ext
│ │ │ │ ├── forms
│ │ │ │ │ └── WorkgroupForm.java
│ │ │ │ ├── history
│ │ │ │ │ ├── AgentChatHistory.java
│ │ │ │ │ ├── AgentChatSession.java
│ │ │ │ │ └── ChatMetadata.java
│ │ │ │ ├── macros
│ │ │ │ │ ├── Macro.java
│ │ │ │ │ ├── MacroGroup.java
│ │ │ │ │ └── Macros.java
│ │ │ │ └── notes
│ │ │ │ │ └── ChatNotes.java
│ │ │ │ ├── packet
│ │ │ │ ├── AgentInfo.java
│ │ │ │ ├── AgentStatus.java
│ │ │ │ ├── AgentStatusRequest.java
│ │ │ │ ├── AgentWorkgroups.java
│ │ │ │ ├── DepartQueuePacket.java
│ │ │ │ ├── MetaDataProvider.java
│ │ │ │ ├── MonitorPacket.java
│ │ │ │ ├── OccupantsInfo.java
│ │ │ │ ├── OfferRequestProvider.java
│ │ │ │ ├── OfferRevokeProvider.java
│ │ │ │ ├── QueueDetails.java
│ │ │ │ ├── QueueOverview.java
│ │ │ │ ├── QueueUpdate.java
│ │ │ │ ├── RoomInvitation.java
│ │ │ │ ├── RoomTransfer.java
│ │ │ │ ├── SessionID.java
│ │ │ │ ├── Transcript.java
│ │ │ │ ├── TranscriptProvider.java
│ │ │ │ ├── TranscriptSearch.java
│ │ │ │ ├── Transcripts.java
│ │ │ │ ├── TranscriptsProvider.java
│ │ │ │ ├── UserID.java
│ │ │ │ └── WorkgroupInformation.java
│ │ │ │ ├── settings
│ │ │ │ ├── ChatSetting.java
│ │ │ │ ├── ChatSettings.java
│ │ │ │ ├── GenericSettings.java
│ │ │ │ ├── OfflineSettings.java
│ │ │ │ ├── SearchSettings.java
│ │ │ │ ├── SoundSettings.java
│ │ │ │ └── WorkgroupProperties.java
│ │ │ │ ├── user
│ │ │ │ ├── QueueListener.java
│ │ │ │ └── Workgroup.java
│ │ │ │ └── util
│ │ │ │ ├── ListenerEventDispatcher.java
│ │ │ │ ├── MetaDataUtils.java
│ │ │ │ └── ModelUtil.java
│ │ │ └── xbill
│ │ │ └── DNS
│ │ │ ├── A6Record.java
│ │ │ ├── AAAARecord.java
│ │ │ ├── AFSDBRecord.java
│ │ │ ├── APLRecord.java
│ │ │ ├── ARecord.java
│ │ │ ├── Address.java
│ │ │ ├── CERTRecord.java
│ │ │ ├── CNAMERecord.java
│ │ │ ├── Cache.java
│ │ │ ├── Client.java
│ │ │ ├── ClientSubnetOption.java
│ │ │ ├── Compression.java
│ │ │ ├── Credibility.java
│ │ │ ├── DClass.java
│ │ │ ├── DHCIDRecord.java
│ │ │ ├── DLVRecord.java
│ │ │ ├── DNAMERecord.java
│ │ │ ├── DNSInput.java
│ │ │ ├── DNSKEYRecord.java
│ │ │ ├── DNSOutput.java
│ │ │ ├── DNSSEC.java
│ │ │ ├── DSRecord.java
│ │ │ ├── EDNSOption.java
│ │ │ ├── EmptyRecord.java
│ │ │ ├── ExtendedFlags.java
│ │ │ ├── ExtendedResolver.java
│ │ │ ├── Flags.java
│ │ │ ├── FormattedTime.java
│ │ │ ├── GPOSRecord.java
│ │ │ ├── Generator.java
│ │ │ ├── GenericEDNSOption.java
│ │ │ ├── HINFORecord.java
│ │ │ ├── Header.java
│ │ │ ├── IPSECKEYRecord.java
│ │ │ ├── ISDNRecord.java
│ │ │ ├── InvalidDClassException.java
│ │ │ ├── InvalidTTLException.java
│ │ │ ├── InvalidTypeException.java
│ │ │ ├── KEYBase.java
│ │ │ ├── KEYRecord.java
│ │ │ ├── KXRecord.java
│ │ │ ├── LOCRecord.java
│ │ │ ├── Lookup.java
│ │ │ ├── MBRecord.java
│ │ │ ├── MDRecord.java
│ │ │ ├── MFRecord.java
│ │ │ ├── MGRecord.java
│ │ │ ├── MINFORecord.java
│ │ │ ├── MRRecord.java
│ │ │ ├── MXRecord.java
│ │ │ ├── Master.java
│ │ │ ├── Message.java
│ │ │ ├── Mnemonic.java
│ │ │ ├── NAPTRRecord.java
│ │ │ ├── NSAPRecord.java
│ │ │ ├── NSAP_PTRRecord.java
│ │ │ ├── NSEC3PARAMRecord.java
│ │ │ ├── NSEC3Record.java
│ │ │ ├── NSECRecord.java
│ │ │ ├── NSIDOption.java
│ │ │ ├── NSRecord.java
│ │ │ ├── NULLRecord.java
│ │ │ ├── NXTRecord.java
│ │ │ ├── Name.java
│ │ │ ├── NameTooLongException.java
│ │ │ ├── OPTRecord.java
│ │ │ ├── Opcode.java
│ │ │ ├── Options.java
│ │ │ ├── PTRRecord.java
│ │ │ ├── PXRecord.java
│ │ │ ├── RPRecord.java
│ │ │ ├── RRSIGRecord.java
│ │ │ ├── RRset.java
│ │ │ ├── RTRecord.java
│ │ │ ├── Rcode.java
│ │ │ ├── Record.java
│ │ │ ├── RelativeNameException.java
│ │ │ ├── ResolveThread.java
│ │ │ ├── Resolver.java
│ │ │ ├── ResolverConfig.java
│ │ │ ├── ResolverListener.java
│ │ │ ├── ReverseMap.java
│ │ │ ├── SIG0.java
│ │ │ ├── SIGBase.java
│ │ │ ├── SIGRecord.java
│ │ │ ├── SOARecord.java
│ │ │ ├── SPFRecord.java
│ │ │ ├── SRVRecord.java
│ │ │ ├── SSHFPRecord.java
│ │ │ ├── Section.java
│ │ │ ├── Serial.java
│ │ │ ├── SetResponse.java
│ │ │ ├── SimpleResolver.java
│ │ │ ├── SingleCompressedNameBase.java
│ │ │ ├── SingleNameBase.java
│ │ │ ├── TCPClient.java
│ │ │ ├── TKEYRecord.java
│ │ │ ├── TLSARecord.java
│ │ │ ├── TSIG.java
│ │ │ ├── TSIGRecord.java
│ │ │ ├── TTL.java
│ │ │ ├── TXTBase.java
│ │ │ ├── TXTRecord.java
│ │ │ ├── TextParseException.java
│ │ │ ├── Tokenizer.java
│ │ │ ├── Type.java
│ │ │ ├── TypeBitmap.java
│ │ │ ├── U16NameBase.java
│ │ │ ├── UDPClient.java
│ │ │ ├── UNKRecord.java
│ │ │ ├── Update.java
│ │ │ ├── WKSRecord.java
│ │ │ ├── WireParseException.java
│ │ │ ├── X25Record.java
│ │ │ ├── Zone.java
│ │ │ ├── ZoneTransferException.java
│ │ │ ├── ZoneTransferIn.java
│ │ │ ├── spi
│ │ │ ├── DNSJavaNameService.java
│ │ │ └── services
│ │ │ │ └── sun.net.spi.nameservice.NameServiceDescriptor
│ │ │ ├── tests
│ │ │ ├── primary.java
│ │ │ └── xfrin.java
│ │ │ ├── utils
│ │ │ ├── HMAC.java
│ │ │ ├── base16.java
│ │ │ ├── base32.java
│ │ │ ├── base64.java
│ │ │ └── hexdump.java
│ │ │ └── windows
│ │ │ ├── DNSServer.properties
│ │ │ ├── DNSServer_de.properties
│ │ │ ├── DNSServer_fr.properties
│ │ │ ├── DNSServer_ja.properties
│ │ │ └── DNSServer_pl.properties
│ └── res
│ │ ├── anim
│ │ └── cat_loading_dialog_animition.xml
│ │ ├── color
│ │ └── ksw_md_back_color.xml
│ │ ├── drawable
│ │ ├── bj_animation.xml
│ │ ├── bjdj_animation.xml
│ │ ├── blue_led_selector.xml
│ │ ├── btn_chat_add_camera_selector.xml
│ │ ├── btn_chat_add_location_selector.xml
│ │ ├── btn_chat_add_picture_selector.xml
│ │ ├── btn_chat_add_selector.xml
│ │ ├── btn_chat_emo_selector.xml
│ │ ├── btn_trans_select.xml
│ │ ├── cat_loading_bg.xml
│ │ ├── circle_shape.xml
│ │ ├── contact_indicator_slector.xml
│ │ ├── corner_gray_bg.xml
│ │ ├── corner_gray_little_bg.xml
│ │ ├── corner_white1_bg.xml
│ │ ├── corner_white_bg.xml
│ │ ├── door_selector.xml
│ │ ├── drawer_item_selector.xml
│ │ ├── edittext_selector.xml
│ │ ├── fan_animation.xml
│ │ ├── green_led_selector.xml
│ │ ├── image_masaage_left.9.png
│ │ ├── image_masaage_left_night.9.png
│ │ ├── image_masaage_right.9.png
│ │ ├── image_masaage_right_night.9.png
│ │ ├── item_recycler_view_selector.xml
│ │ ├── ksw_md_thumb.xml
│ │ ├── led_button_off_shape.xml
│ │ ├── led_button_on_shape.xml
│ │ ├── led_button_selector.xml
│ │ ├── loading.xml
│ │ ├── loading_progress_dialog.xml
│ │ ├── login_button_normal_shape.xml
│ │ ├── login_button_press_shape.xml
│ │ ├── login_button_slector.xml
│ │ ├── look_more_node_selector.xml
│ │ ├── more_choice.9.png
│ │ ├── node_busy_shape.xml
│ │ ├── node_offline_shape.xml
│ │ ├── node_sleep_shape.xml
│ │ ├── pop_button_selector.xml
│ │ ├── press_selector.xml
│ │ ├── red_circle_shape.xml
│ │ ├── red_led_selector.xml
│ │ ├── select_line.xml
│ │ ├── show_password_select.xml
│ │ ├── tab_contact_select.xml
│ │ ├── tab_discover_select.xml
│ │ ├── tab_message_slect.xml
│ │ ├── user_status_select.xml
│ │ ├── white_corner_slector.xml
│ │ ├── yellow_led_selector.xml
│ │ └── zldj_animation.xml
│ │ ├── layout
│ │ ├── act_bj.xml
│ │ ├── act_chat.xml
│ │ ├── act_chat_with_node.xml
│ │ ├── act_dm.xml
│ │ ├── act_gd.xml
│ │ ├── act_kg_node.xml
│ │ ├── act_led.xml
│ │ ├── act_login.xml
│ │ ├── act_subscribed_nods.xml
│ │ ├── activity_main.xml
│ │ ├── bottom.xml
│ │ ├── catloading_dialog.xml
│ │ ├── chat_add_container.xml
│ │ ├── chat_face_container.xml
│ │ ├── custom_marker_view.xml
│ │ ├── dialog_choice_list.xml
│ │ ├── dropdown_lv_head.xml
│ │ ├── frag_contact.xml
│ │ ├── frag_discover.xml
│ │ ├── frag_message.xml
│ │ ├── include_drawer_layout.xml
│ │ ├── item_contact_child.xml
│ │ ├── item_contact_group.xml
│ │ ├── item_my_response.xml
│ │ ├── item_server_response.xml
│ │ ├── item_session_child.xml
│ │ ├── layout_kz_titlebar.xml
│ │ ├── layout_titlebar.xml
│ │ ├── loading_more_foot.xml
│ │ ├── loading_progress_dialog.xml
│ │ ├── more_node_lines.xml
│ │ ├── pop_login_settings.xml
│ │ ├── pop_more_options.xml
│ │ ├── pop_write_data_to_node.xml
│ │ ├── pop_write_data_to_smoke_node.xml
│ │ ├── swipeback_layout.xml
│ │ └── toolbar.xml
│ │ ├── mipmap-hdpi
│ │ ├── arm.png
│ │ ├── bjdj.png
│ │ ├── blue_led.png
│ │ ├── cat.png
│ │ ├── chat_add_camera_normal.png
│ │ ├── chat_add_camera_press.png
│ │ ├── chat_add_location_normal.png
│ │ ├── chat_add_location_press.png
│ │ ├── chat_add_normal.png
│ │ ├── chat_add_picture_normal.png
│ │ ├── chat_add_picture_press.png
│ │ ├── chat_add_press.png
│ │ ├── chat_emo_normal.png
│ │ ├── chat_emo_press.png
│ │ ├── delete_all_message.png
│ │ ├── eyes.png
│ │ ├── gdcgq.png
│ │ ├── green_led.png
│ │ ├── ic_launcher.png
│ │ ├── icon_more.png
│ │ ├── indicator_down.png
│ │ ├── indicator_right.png
│ │ ├── led.png
│ │ ├── light.png
│ │ ├── loading_01.png
│ │ ├── loading_02.png
│ │ ├── loading_03.png
│ │ ├── loading_04.png
│ │ ├── loading_05.png
│ │ ├── loading_06.png
│ │ ├── loading_07.png
│ │ ├── loading_08.png
│ │ ├── loading_09.png
│ │ ├── loading_10.png
│ │ ├── loading_11.png
│ │ ├── loading_12.png
│ │ ├── menci.png
│ │ ├── mouse.png
│ │ ├── node_fan.png
│ │ ├── norm_led.png
│ │ ├── online.png
│ │ ├── red_led.png
│ │ ├── smoke.png
│ │ ├── user_status_offline.png
│ │ ├── user_status_online.png
│ │ ├── yellow_led.png
│ │ ├── zldj.png
│ │ └── zw_icon_back.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_weibouser_female.png
│ │ ├── marker2.png
│ │ ├── shadow_bottom.png
│ │ ├── shadow_left.png
│ │ ├── shadow_right.png
│ │ ├── topmenu_icn_exit.png
│ │ ├── topmenu_icn_level.png
│ │ ├── topmenu_icn_msg.png
│ │ ├── topmenu_icn_set.png
│ │ └── topmenu_icn_time.png
│ │ ├── mipmap-xhdpi
│ │ ├── add_friend.png
│ │ ├── bg_banner.jpg
│ │ ├── bj_alarm.png
│ │ ├── bj_normal.png
│ │ ├── bjdj1.png
│ │ ├── bjdj2.png
│ │ ├── bjdj3.png
│ │ ├── dl_icon_mmbkj.png
│ │ ├── dl_icon_mmkj.png
│ │ ├── door_close.png
│ │ ├── door_open.png
│ │ ├── fan1.png
│ │ ├── fan2.png
│ │ ├── fan3.png
│ │ ├── fan4.png
│ │ ├── fan5.png
│ │ ├── ic_launcher.png
│ │ ├── login_image.png
│ │ ├── zldj1.png
│ │ ├── zldj2.png
│ │ ├── zldj3.png
│ │ ├── zldj4.png
│ │ ├── zldj5.png
│ │ ├── zldj6.png
│ │ └── zldj7.png
│ │ ├── mipmap-xxhdpi
│ │ ├── add_friend.png
│ │ ├── cb_icon_discover_normal.png
│ │ ├── cb_icon_discover_selected.png
│ │ ├── cb_icon_more_normal.png
│ │ ├── cb_icon_more_selected.png
│ │ ├── cb_icon_tixing_normal.png
│ │ ├── cb_icon_tixing_selected.png
│ │ ├── dl_icon_mmbkj.png
│ │ ├── dl_icon_mmkj.png
│ │ ├── ic_launcher.png
│ │ └── node_head_img.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── bg_empty.png
│ │ └── ic_launcher.png
│ │ ├── raw
│ │ └── alarm.mp3
│ │ ├── values-v21
│ │ └── styles.xml
│ │ ├── values-w820dp
│ │ └── dimens.xml
│ │ └── values
│ │ ├── attrs.xml
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test
│ └── java
│ └── com
│ └── cqupt
│ └── xmpp
│ └── ExampleUnitTest.java
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── projectFilesBackup
└── .idea
│ └── workspace.xml
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | .gradle
3 | /local.properties
4 | /.idea/workspace.xml
5 | /.idea/libraries
6 | .DS_Store
7 | /build
8 | /captures
9 |
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | IotXmpp
--------------------------------------------------------------------------------
/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/.idea/copyright/profiles_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/gradle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
19 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # IotXmpp
2 |
3 | ### 软件介绍
4 | 本项目是基于XMPP的物联网客户端软件的实现,其实现的主要功能是一款能和物联网节点交互的即时通讯软件。目前支持九类传感器节点交互,主要有:温湿度、风扇、直流电机、LED灯、步进电机、门磁、光电接近、烟雾和光照。
5 | 本软件不仅能和这些传感器节点交互,还实现了类似微信的订阅和取消订阅功能。当订阅一个节点后节点就会按照设定好的周期向客户端汇报数据,客户端也能设置周期、设置报警上下限等。这些功能的实现极大的方便了我们和物联网节点的交互。
6 |
7 | ### 部分界面展示
8 |
9 | - 登录界面:
10 | 
11 |
12 | - 侧滑菜单:
13 | 
14 |
15 | - 好友列表:
16 | 
17 |
18 | - 消息列表:
19 | 
20 |
21 | - 与温湿度传感器交互:
22 | 
23 |
24 | - 与LED灯交互:
25 | 
26 |
27 | - 与步进电机交互:
28 | 
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/app/build.gradle:
--------------------------------------------------------------------------------
1 | apply plugin: 'com.android.application'
2 |
3 | android {
4 | compileSdkVersion 23
5 | buildToolsVersion "23.0.2"
6 |
7 | defaultConfig {
8 | applicationId "com.cqupt.xmpp"
9 | minSdkVersion 16
10 | targetSdkVersion 23
11 | versionCode 1
12 | versionName "1.0"
13 | }
14 | buildTypes {
15 | release {
16 | minifyEnabled false
17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 | }
19 | }
20 | }
21 |
22 | dependencies {
23 | compile fileTree(include: ['*.jar'], dir: 'libs')
24 | testCompile 'junit:junit:4.12'
25 | compile 'com.android.support:appcompat-v7:23.2.0'
26 | compile 'com.android.support:design:23.2.0'
27 | compile 'com.android.support:cardview-v7:23.2.1'
28 | compile 'com.android.support:recyclerview-v7:23.2.1'
29 | compile files('libs/httpclient-4.1.3.jar')
30 | compile files('libs/httpcore-4.1.4.jar')
31 | compile files('libs/mpandroidchartlibrary-2-2-4.jar')
32 | compile 'com.rengwuxian.materialedittext:library:2.1.4'
33 | compile 'com.google.android.gms:play-services-appindexing:8.1.0'
34 | }
35 |
--------------------------------------------------------------------------------
/app/libs/httpclient-4.1.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/libs/httpclient-4.1.3.jar
--------------------------------------------------------------------------------
/app/libs/httpcore-4.1.4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/libs/httpcore-4.1.4.jar
--------------------------------------------------------------------------------
/app/libs/mpandroidchartlibrary-2-2-4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/libs/mpandroidchartlibrary-2-2-4.jar
--------------------------------------------------------------------------------
/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in E:\Android\sdk/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
12 | # If your project uses WebView with JS, uncomment the following
13 | # and specify the fully qualified class name to the JavaScript interface
14 | # class:
15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16 | # public *;
17 | #}
18 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/cqupt/xmpp/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp;
2 |
3 | import android.app.Application;
4 | import android.test.ApplicationTestCase;
5 |
6 | /**
7 | * Testing Fundamentals
8 | */
9 | public class ApplicationTest extends ApplicationTestCase {
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/adapter/MyFragmentPagerAdapter.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.adapter;
2 |
3 | import android.support.v4.app.Fragment;
4 | import android.support.v4.app.FragmentManager;
5 | import android.support.v4.app.FragmentPagerAdapter;
6 |
7 | import java.util.ArrayList;
8 |
9 | /**
10 | * Created by tiandawu on 2016/3/31.
11 | */
12 | public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
13 | private ArrayList fragments;
14 |
15 | public MyFragmentPagerAdapter(FragmentManager fm, ArrayList fragments) {
16 | super(fm);
17 | this.fragments = fragments;
18 | }
19 |
20 | @Override
21 | public Fragment getItem(int position) {
22 | return fragments.get(position);
23 | }
24 |
25 | @Override
26 | public int getCount() {
27 | return fragments.size();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/base/BaseFragment.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.base;
2 |
3 | import android.os.Bundle;
4 | import android.support.annotation.Nullable;
5 | import android.support.v4.app.Fragment;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 |
10 | /**
11 | * Created by tiandawu on 2016/3/31.
12 | */
13 | public abstract class BaseFragment extends Fragment {
14 | @Nullable
15 | @Override
16 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
17 |
18 | View view = initView(inflater,container);
19 | initData();
20 | return view;
21 | }
22 |
23 | protected abstract View initView(LayoutInflater inflater, ViewGroup container);
24 |
25 | protected void initData() {
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/bean/ChatSession.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.bean;
2 |
3 | import java.io.Serializable;
4 |
5 | /**
6 | * Created by tiandawu on 2016/4/10.
7 | */
8 | public class ChatSession implements Serializable {
9 |
10 | /**
11 | * 消息来自哪里
12 | */
13 | private String from;
14 | /**
15 | * 消息发去哪里
16 | */
17 | private String to;
18 | /**
19 | * 消息内容
20 | */
21 | private String body;
22 | /**
23 | * 发送或者接受消息的时间
24 | */
25 | private String time;
26 | /**
27 | * 消息属于哪个人
28 | */
29 | private String owner;
30 |
31 | public String getBody() {
32 | return body;
33 | }
34 |
35 | public void setBody(String body) {
36 | this.body = body;
37 | }
38 |
39 | public String getFrom() {
40 | return from;
41 | }
42 |
43 | public void setFrom(String from) {
44 | this.from = from;
45 | }
46 |
47 | public String getTo() {
48 | return to;
49 | }
50 |
51 | public void setTo(String to) {
52 | this.to = to;
53 | }
54 |
55 | public String getTime() {
56 | return time;
57 | }
58 |
59 | public void setTime(String time) {
60 | this.time = time;
61 | }
62 |
63 | public String getOwner() {
64 | return owner;
65 | }
66 |
67 | public void setOwner(String owner) {
68 | this.owner = owner;
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/bean/NodeSubStatus.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.bean;
2 |
3 | /**
4 | * Created by tiandawu on 2016/4/18.
5 | */
6 | public class NodeSubStatus {
7 | private String nodeName, period, highLimit, lowLimit;
8 |
9 | public NodeSubStatus() {
10 | this.period = "false";
11 | this.highLimit = "false";
12 | this.lowLimit = "false";
13 | }
14 |
15 | public String getNodeName() {
16 | return nodeName;
17 | }
18 |
19 | public void setNodeName(String nodeName) {
20 | this.nodeName = nodeName;
21 | }
22 |
23 | public String getPeriod() {
24 | return period;
25 | }
26 |
27 | public void setPeriod(String period) {
28 | this.period = period;
29 | }
30 |
31 | public String getHighLimit() {
32 | return highLimit;
33 | }
34 |
35 | public void setHighLimit(String highLimit) {
36 | this.highLimit = highLimit;
37 | }
38 |
39 | public String getLowLimit() {
40 | return lowLimit;
41 | }
42 |
43 | public void setLowLimit(String lowLimit) {
44 | this.lowLimit = lowLimit;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/listener/AlarmListener.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.listener;
2 |
3 | /**
4 | * Created by tiandawu on 2016/5/23.
5 | */
6 | public interface AlarmListener {
7 |
8 | void showAlarm(String from);
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/listener/CheckConnectionListener.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.listener;
2 |
3 | import android.util.Log;
4 |
5 | import com.cqupt.xmpp.service.IotXmppService;
6 |
7 | import org.jivesoftware.smack.ConnectionListener;
8 |
9 | /**
10 | * Created by tiandawu on 2016/4/6.
11 | */
12 | public class CheckConnectionListener implements ConnectionListener {
13 | private IotXmppService context;
14 |
15 | public CheckConnectionListener(IotXmppService context){
16 | this.context=context;
17 | }
18 | @Override
19 | public void connectionClosed() {
20 | Log.e("tt", "connectionClosed");
21 | }
22 |
23 | @Override
24 | public void connectionClosedOnError(Exception e) {
25 | Log.e("tt", "connectionClosedOnError = " + e.toString());
26 | }
27 |
28 | @Override
29 | public void reconnectingIn(int i) {
30 | Log.e("tt", "reconnectingIn = "+i);
31 | }
32 |
33 | @Override
34 | public void reconnectionSuccessful() {
35 |
36 | Log.e("tt", "reconnectionSuccessful");
37 |
38 | }
39 |
40 | @Override
41 | public void reconnectionFailed(Exception e) {
42 | Log.e("tt", "reconnectionFailed");
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/listener/SessionAlarmListener.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.listener;
2 |
3 | /**
4 | * Created by tiandawu on 2016/5/23.
5 | */
6 | public interface SessionAlarmListener {
7 |
8 | void showSessionAlarm(String from);
9 | }
10 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/packet/GdMessage.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.packet;
2 |
3 | import org.jivesoftware.smack.packet.Message;
4 |
5 | /**
6 | * Created by tiandawu on 2016/5/22.
7 | */
8 | public class GdMessage extends Message {
9 |
10 | private String from, to, gdState;
11 |
12 | /**
13 | * 光电式接近传器:B2@xmpp/B
14 | * 无(默认)
15 | * N->C:
16 | * 1/0
17 | */
18 |
19 | @Override
20 | public String toString() {
21 | StringBuilder builder = new StringBuilder();
22 | builder.append("");
27 | builder.append(getGdState());
28 | builder.append("");
29 | return builder.toString();
30 | }
31 |
32 | @Override
33 | public String getFrom() {
34 | return from;
35 | }
36 |
37 | @Override
38 | public void setFrom(String from) {
39 | this.from = from;
40 | }
41 |
42 | public String getGdState() {
43 | return gdState;
44 | }
45 |
46 | public void setGdState(String gdState) {
47 | this.gdState = gdState;
48 | }
49 |
50 | @Override
51 | public String getTo() {
52 | return to;
53 | }
54 |
55 | @Override
56 | public void setTo(String to) {
57 | this.to = to;
58 | }
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/packet/GetDataResp.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.packet;
2 |
3 | import org.jivesoftware.smack.packet.IQ;
4 |
5 | /**
6 | * Created by tiandawu on 2016/4/14.
7 | */
8 | public class GetDataResp extends IQ {
9 |
10 |
11 | private String var;
12 | private String value;
13 |
14 | public String getVar() {
15 | return var;
16 | }
17 |
18 | public void setVar(String var) {
19 | this.var = var;
20 | }
21 |
22 | public String getValue() {
23 | return value;
24 | }
25 |
26 | public void setValue(String value) {
27 | this.value = value;
28 | }
29 |
30 | @Override
31 | public String getChildElementXML() {
32 | StringBuilder buf = new StringBuilder();
33 | buf.append("");
36 | buf.append(getValue());
37 | buf.append("");
38 | return buf.toString();
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/packet/GetNodeData.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.packet;
2 |
3 | import org.jivesoftware.smack.packet.IQ;
4 |
5 | /**
6 | * Created by tiandawu on 2016/4/10.
7 | */
8 | public class GetNodeData extends IQ {
9 | //
10 |
11 | private String dataType;
12 |
13 | public GetNodeData() {
14 |
15 | }
16 |
17 | public GetNodeData(String dataType) {
18 | this.dataType = dataType;
19 | }
20 |
21 |
22 | @Override
23 | public String getChildElementXML() {
24 | StringBuilder stringBuilder = new StringBuilder();
25 | stringBuilder.append("");
28 | return stringBuilder.toString();
29 | }
30 |
31 | public String getDataType() {
32 | return dataType;
33 | }
34 |
35 | public void setDataType(String dataType) {
36 | this.dataType = dataType;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/packet/WriteNodeResp.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.packet;
2 |
3 | import org.jivesoftware.smack.packet.IQ;
4 |
5 | /**
6 | * Created by tiandawu on 2016/4/17.
7 | */
8 | public class WriteNodeResp extends IQ {
9 |
10 |
11 | // (写入成功)
12 |
13 | @Override
14 | public String getChildElementXML() {
15 | return "";
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/provider/GetDataRespProvider.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.provider;
2 |
3 | import com.cqupt.xmpp.packet.GetDataResp;
4 |
5 | import org.jivesoftware.smack.packet.IQ;
6 | import org.jivesoftware.smack.provider.IQProvider;
7 | import org.xmlpull.v1.XmlPullParser;
8 |
9 | /**
10 | * Created by tiandawu on 2016/4/14.
11 | */
12 | public class GetDataRespProvider implements IQProvider {
13 |
14 |
15 | //17.43
16 |
17 | @Override
18 | public IQ parseIQ(XmlPullParser parser) throws Exception {
19 |
20 | GetDataResp getDataResp = new GetDataResp();
21 | boolean done = false;
22 |
23 | while (!done) {
24 | int eventType = parser.next();
25 | if (eventType == XmlPullParser.START_TAG) {
26 |
27 | if (parser.getName().equals("attr")) {
28 | String var = parser.getAttributeValue("", "var");
29 | String value = parser.nextText();
30 |
31 |
32 | getDataResp.setVar(var);
33 | getDataResp.setValue(value);
34 | }
35 |
36 |
37 | } else if (eventType == XmlPullParser.END_TAG) {
38 | if (parser.getName().equals("resp")) {
39 | done = true;
40 | }
41 | }
42 | }
43 |
44 | return getDataResp;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/provider/WriteNodeRespProvider.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.provider;
2 |
3 | import com.cqupt.xmpp.packet.WriteNodeResp;
4 |
5 | import org.jivesoftware.smack.packet.IQ;
6 | import org.jivesoftware.smack.provider.IQProvider;
7 | import org.xmlpull.v1.XmlPullParser;
8 |
9 | /**
10 | * Created by tiandawu on 2016/4/17.
11 | */
12 | public class WriteNodeRespProvider implements IQProvider {
13 | @Override
14 | public IQ parseIQ(XmlPullParser parser) throws Exception {
15 | return new WriteNodeResp();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/utils/ActivityUtils.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.utils;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 |
6 | /**
7 | * Created by tiandawu on 2016/3/2.
8 | */
9 | public class ActivityUtils {
10 | /**
11 | * 打开Activity
12 | * @param activity
13 | * @param clazz
14 | */
15 | public static void startActivity(Activity activity, Class clazz) {
16 | startActivity(activity,clazz,false);
17 | }
18 |
19 | /**
20 | * 打开Activity,并关闭上一个Activity
21 | * @param activity
22 | * @param clazz
23 | * @param isFinish
24 | */
25 | public static void startActivity(Activity activity, Class clazz, boolean isFinish) {
26 | Intent intent = new Intent(activity, clazz);
27 | activity.startActivity(intent);
28 | if (isFinish) {
29 | activity.finish();
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/utils/ConstUtil.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.utils;
2 |
3 | import android.content.Context;
4 |
5 | /**
6 | * Created by tiandawu on 2016/3/31.
7 | */
8 | public class ConstUtil {
9 | /**
10 | * 服务器ip
11 | */
12 | public static final String XMPP_IP = "ip";
13 | /**
14 | * 服务器端口
15 | */
16 | public static final String XMPP_PORT = "port";
17 | /**
18 | * SharedPreferences 的名字
19 | */
20 | public static final String SP_NAME = "iotXmppConfig";
21 | /**
22 | * 登陆用户名
23 | */
24 | public static final String SP_KEY_NAME = "username";
25 | /**
26 | * 登陆密码
27 | */
28 | public static final String SP_KEY_PWD = "password";
29 |
30 | /**
31 | * 登录状态广播过滤器
32 | */
33 | public static final String LOGIN_STATUS = "com.cqupt.xmpp.login_is_success";
34 |
35 | /**
36 | * 在线
37 | */
38 | public static final String ON_LINE = "available";
39 | /**
40 | * 在线
41 | */
42 | public static final String OFF_LINE = "available";
43 |
44 | /**
45 | * 获取所有者的jid
46 | *
47 | * @return
48 | */
49 | public static String getOwnerJid(Context context) {
50 | return PreferencesUtils.getSharePreStr(context, SP_KEY_NAME) + "@xmpp/Smack";
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/utils/DateUtils.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.utils;
2 |
3 | import java.text.SimpleDateFormat;
4 | import java.util.Date;
5 |
6 | /**
7 | * Created by tiandawu on 2016/3/29.
8 | */
9 | public class DateUtils {
10 | public static String getNowDateTime() {
11 | String pattern = "yyyy-MM-dd HH:mm:ss";
12 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
13 | return simpleDateFormat.format(new Date());
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/app/src/main/java/com/cqupt/xmpp/widght/SwipeBackActivityBase.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp.widght;
2 |
3 | /**
4 | * Created by tiandawu on 2015/12/4.
5 | */
6 | public interface SwipeBackActivityBase {
7 | /**
8 | * @return the SwipeBackLayout associated with this activity.
9 | */
10 | public abstract SwipeBackLayout getSwipeBackLayout();
11 |
12 | public abstract void setSwipeBackEnable(boolean enable);
13 |
14 | /**
15 | * Scroll out contentView and finish the activity
16 | */
17 | public abstract void scrollToFinishActivity();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/app/src/main/java/com/kenai/jbosh/BOSHClientConnListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009 Mike Cumings
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.kenai.jbosh;
18 |
19 | /**
20 | * Interface used by parties interested in monitoring the connection state
21 | * of a client session.
22 | */
23 | public interface BOSHClientConnListener {
24 |
25 | /**
26 | * Called when the connection state of the client which the listener
27 | * is registered against has changed. The event object supplied can
28 | * be used to determine the current session state.
29 | *
30 | * @param connEvent connection event describing the state
31 | */
32 | void connectionEvent(BOSHClientConnEvent connEvent);
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/kenai/jbosh/BOSHClientResponseListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009 Mike Cumings
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.kenai.jbosh;
18 |
19 | /**
20 | * Interface used by parties interested in monitoring inbound responses
21 | * to the client from the connection manager (CM). No opportunity is provided
22 | * to manipulate the response.
23 | *
24 | * Listeners are executed by the message processing thread and should not
25 | * block for any significant amount of time.
26 | */
27 | public interface BOSHClientResponseListener {
28 |
29 | /**
30 | * Called when the listener is being notified that a response has been
31 | * received from the connection manager.
32 | *
33 | * @param event event instance containing the message being sent
34 | */
35 | void responseReceived(BOSHMessageEvent event);
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/kenai/jbosh/BodyParser.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2009 Mike Cumings
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.kenai.jbosh;
18 |
19 | /**
20 | * Interface for parser implementations to implement in order to abstract the
21 | * business of XML parsing out of the Body class. This allows us to leverage
22 | * a variety of parser implementations to gain performance advantages.
23 | */
24 | interface BodyParser {
25 |
26 | /**
27 | * Parses the XML message, extracting the useful data from the initial
28 | * body element and returning it in a results object.
29 | *
30 | * @param xml XML to parse
31 | * @return useful data parsed out of the XML
32 | * @throws BOSHException on parse error
33 | */
34 | BodyParserResults parse(String xml) throws BOSHException;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/kenai/jbosh/package.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Core classes of the JBOSH API.
4 |
5 | Users of the client portion of the API should start by reading
6 | up on the BOSHClient
documentation.
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/RefreshFailedException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth;
19 |
20 | public class RefreshFailedException extends Exception {
21 |
22 | private static final long serialVersionUID = 5058444488565265840L;
23 |
24 | public RefreshFailedException() {
25 | super();
26 | }
27 |
28 | public RefreshFailedException(String message) {
29 | super(message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/Refreshable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth;
19 |
20 | public interface Refreshable {
21 |
22 | void refresh() throws RefreshFailedException;
23 |
24 | boolean isCurrent();
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/callback/Callback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.callback;
19 |
20 | /**
21 | * Defines an empty base interface for all {@code Callback}s used during
22 | * authentication.
23 | */
24 | public interface Callback {
25 | }
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/AccountException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class AccountException extends LoginException {
21 |
22 | private static final long serialVersionUID = -2112878680072211787L;
23 |
24 | public AccountException() {
25 | super();
26 | }
27 |
28 | public AccountException(String message) {
29 | super(message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/AccountExpiredException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class AccountExpiredException extends AccountException {
21 |
22 | private static final long serialVersionUID = -6064064890162661560L;
23 |
24 | public AccountExpiredException() {
25 | super();
26 | }
27 |
28 | public AccountExpiredException(String message) {
29 | super(message);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/AccountLockedException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class AccountLockedException extends AccountException {
21 |
22 | private static final long serialVersionUID = 8280345554014066334L;
23 |
24 | public AccountLockedException() {
25 | super();
26 | }
27 |
28 | public AccountLockedException(String message) {
29 | super(message);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/AccountNotFoundException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class AccountNotFoundException extends AccountException {
21 |
22 | private static final long serialVersionUID = 1498349563916294614L;
23 |
24 | public AccountNotFoundException() {
25 | super();
26 | }
27 |
28 | public AccountNotFoundException(String message) {
29 | super(message);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/CredentialException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class CredentialException extends LoginException {
21 |
22 | private static final long serialVersionUID = -4772893876810601859L;
23 |
24 | public CredentialException() {
25 | super();
26 | }
27 |
28 | public CredentialException(String message) {
29 | super(message);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/CredentialExpiredException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class CredentialExpiredException extends CredentialException {
21 |
22 | private static final long serialVersionUID = -5344739593859737937L;
23 |
24 | public CredentialExpiredException() {
25 | super();
26 | }
27 |
28 | public CredentialExpiredException(String message) {
29 | super(message);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/CredentialNotFoundException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class CredentialNotFoundException extends CredentialException {
21 |
22 | private static final long serialVersionUID = -7779934467214319475L;
23 |
24 | public CredentialNotFoundException() {
25 | super();
26 | }
27 |
28 | public CredentialNotFoundException(String message) {
29 | super(message);
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/auth/login/FailedLoginException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.auth.login;
19 |
20 | public class FailedLoginException extends LoginException {
21 |
22 | private static final long serialVersionUID = 802556922354616286L;
23 |
24 | public FailedLoginException() {
25 | super();
26 | }
27 |
28 | public FailedLoginException(String message) {
29 | super(message);
30 | }
31 |
32 | }
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/sasl/AuthenticationException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.sasl;
19 |
20 | public class AuthenticationException extends SaslException {
21 |
22 | private static final long serialVersionUID = -3579708765071815007L;
23 |
24 | public AuthenticationException() {
25 | super();
26 | }
27 |
28 | public AuthenticationException(String detail) {
29 | super(detail);
30 | }
31 |
32 | public AuthenticationException(String detail, Throwable ex) {
33 | super(detail, ex);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/sasl/RealmCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.sasl;
19 |
20 | import org.apache.harmony.javax.security.auth.callback.TextInputCallback;
21 |
22 | public class RealmCallback extends TextInputCallback {
23 |
24 | private static final long serialVersionUID = -4342673378785456908L;
25 |
26 | public RealmCallback(String prompt) {
27 | super(prompt);
28 | }
29 |
30 | public RealmCallback(String prompt, String defaultRealmInfo) {
31 | super(prompt, defaultRealmInfo);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/sasl/RealmChoiceCallback.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.sasl;
19 |
20 | import org.apache.harmony.javax.security.auth.callback.ChoiceCallback;
21 |
22 | public class RealmChoiceCallback extends ChoiceCallback {
23 |
24 | private static final long serialVersionUID = -8588141348846281332L;
25 |
26 | public RealmChoiceCallback(String prompt, String[] choices, int defaultChoice,
27 | boolean multiple) {
28 | super(prompt, choices, defaultChoice, multiple);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/sasl/SaslClientFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.sasl;
19 |
20 | import java.util.Map;
21 | import org.apache.harmony.javax.security.auth.callback.CallbackHandler;
22 |
23 | public interface SaslClientFactory {
24 |
25 | SaslClient createSaslClient(String[] mechanisms, String authorizationId, String protocol,
26 | String serverName, Map props, CallbackHandler cbh) throws SaslException;
27 |
28 | String[] getMechanismNames(Map props);
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/harmony/javax/security/sasl/SaslServerFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Licensed to the Apache Software Foundation (ASF) under one or more
3 | * contributor license agreements. See the NOTICE file distributed with
4 | * this work for additional information regarding copyright ownership.
5 | * The ASF licenses this file to You under the Apache License, Version 2.0
6 | * (the "License"); you may not use this file except in compliance with
7 | * the License. You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 |
18 | package org.apache.harmony.javax.security.sasl;
19 |
20 | import java.util.Map;
21 | import org.apache.harmony.javax.security.auth.callback.CallbackHandler;
22 |
23 | public interface SaslServerFactory {
24 |
25 | SaslServer createSaslServer(String mechanisms, String protocol, String serverName,
26 | Map props, CallbackHandler cbh) throws SaslException;
27 |
28 | String[] getMechanismNames(Map props);
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/qpid/management/common/sasl/Constants.java:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 | package org.apache.qpid.management.common.sasl;
23 |
24 | public class Constants
25 | {
26 |
27 | public final static String MECH_CRAMMD5 = "CRAM-MD5";
28 | public final static String MECH_PLAIN = "PLAIN";
29 | public final static String SASL_CRAMMD5 = "SASL/CRAM-MD5";
30 | public final static String SASL_PLAIN = "SASL/PLAIN";
31 |
32 | }
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/java/org/apache/qpid/management/common/sasl/SaslProvider.java:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 | package org.apache.qpid.management.common.sasl;
22 |
23 | import java.security.Provider;
24 |
25 | public class SaslProvider extends Provider
26 | {
27 | private static final long serialVersionUID = -6978096016899676466L;
28 |
29 | public SaslProvider()
30 | {
31 | super("SaslClientFactory", 1.0, "SASL PLAIN CLIENT MECHANISM");
32 | put("SaslClientFactory.PLAIN", "ClientSaslFactory");
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/ChatManagerListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision: 2407 $
4 | * $Date: 2004-11-02 15:37:00 -0800 (Tue, 02 Nov 2004) $
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smack;
22 |
23 | /**
24 | * A listener for chat related events.
25 | *
26 | * @author Alexander Wenckus
27 | */
28 | public interface ChatManagerListener {
29 |
30 | /**
31 | * Event fired when a new chat is created.
32 | *
33 | * @param chat the chat that was created.
34 | * @param createdLocally true if the chat was created by the local user and false if it wasn't.
35 | */
36 | void chatCreated(Chat chat, boolean createdLocally);
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/MessageListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision: 2407 $
4 | * $Date: 2004-11-02 15:37:00 -0800 (Tue, 02 Nov 2004) $
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smack;
22 |
23 | import org.jivesoftware.smack.packet.Message;
24 |
25 | /**
26 | *
27 | */
28 | public interface MessageListener {
29 | void processMessage(Chat chat, Message message);
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/compression/XMPPInputOutputStream.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2013 Florian Schmaus
3 | *
4 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package org.jivesoftware.smack.compression;
17 |
18 | import java.io.InputStream;
19 | import java.io.OutputStream;
20 |
21 | public abstract class XMPPInputOutputStream {
22 | protected String compressionMethod;
23 |
24 | public String getCompressionMethod() {
25 | return compressionMethod;
26 | }
27 |
28 | public abstract boolean isSupported();
29 |
30 | public abstract InputStream getInputStream(InputStream inputStream) throws Exception;
31 |
32 | public abstract OutputStream getOutputStream(OutputStream outputStream) throws Exception;
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/debugger/package.html:
--------------------------------------------------------------------------------
1 | Core debugger functionality.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/filter/package.html:
--------------------------------------------------------------------------------
1 | Allows {@link org.jivesoftware.smack.PacketCollector} and {@link org.jivesoftware.smack.PacketListener} instances to filter for packets with particular attributes.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/package.html:
--------------------------------------------------------------------------------
1 | Core classes of the Smack API.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/packet/package.html:
--------------------------------------------------------------------------------
1 | XML packets that are part of the XMPP protocol.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/provider/package.html:
--------------------------------------------------------------------------------
1 | Provides pluggable parsing of incoming IQ's and packet extensions.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/sasl/SASLCramMD5Mechanism.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smack.sasl;
21 |
22 | import org.jivesoftware.smack.SASLAuthentication;
23 |
24 | /**
25 | * Implementation of the SASL CRAM-MD5 mechanism
26 | *
27 | * @author Jay Kline
28 | */
29 | public class SASLCramMD5Mechanism extends SASLMechanism {
30 |
31 | public SASLCramMD5Mechanism(SASLAuthentication saslAuthentication) {
32 | super(saslAuthentication);
33 | }
34 |
35 | protected String getName() {
36 | return "CRAM-MD5";
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/sasl/SASLDigestMD5Mechanism.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smack.sasl;
21 |
22 | import org.jivesoftware.smack.SASLAuthentication;
23 |
24 | /**
25 | * Implementation of the SASL DIGEST-MD5 mechanism
26 | *
27 | * @author Jay Kline
28 | */
29 | public class SASLDigestMD5Mechanism extends SASLMechanism {
30 |
31 | public SASLDigestMD5Mechanism(SASLAuthentication saslAuthentication) {
32 | super(saslAuthentication);
33 | }
34 |
35 | protected String getName() {
36 | return "DIGEST-MD5";
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/sasl/SASLPlainMechanism.java:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
4 | * you may not use this file except in compliance with the License.
5 | * You may obtain a copy of the License at
6 | *
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software
10 | * distributed under the License is distributed on an "AS IS" BASIS,
11 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and
13 | * limitations under the License.
14 | */
15 |
16 | package org.jivesoftware.smack.sasl;
17 |
18 | import org.jivesoftware.smack.SASLAuthentication;
19 |
20 | /**
21 | * Implementation of the SASL PLAIN mechanism
22 | *
23 | * @author Jay Kline
24 | */
25 | public class SASLPlainMechanism extends SASLMechanism {
26 |
27 | public SASLPlainMechanism(SASLAuthentication saslAuthentication) {
28 | super(saslAuthentication);
29 | }
30 |
31 | protected String getName() {
32 | return "PLAIN";
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/sasl/package.html:
--------------------------------------------------------------------------------
1 | SASL Mechanisms.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/Base64Encoder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 |
15 | package org.jivesoftware.smack.util;
16 |
17 |
18 | /**
19 | * @author Florian Schmaus
20 | */
21 | public class Base64Encoder implements StringEncoder {
22 |
23 | private static Base64Encoder instance;
24 |
25 | private Base64Encoder() {
26 | // Use getInstance()
27 | }
28 |
29 | public static Base64Encoder getInstance() {
30 | if (instance == null) {
31 | instance = new Base64Encoder();
32 | }
33 | return instance;
34 | }
35 |
36 | public String encode(String s) {
37 | return Base64.encodeBytes(s.getBytes());
38 | }
39 |
40 | public String decode(String s) {
41 | return new String(Base64.decode(s));
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/ReaderListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smack.util;
22 |
23 | /**
24 | * Interface that allows for implementing classes to listen for string reading
25 | * events. Listeners are registered with ObservableReader objects.
26 | *
27 | * @see ObservableReader#addReaderListener
28 | * @see ObservableReader#removeReaderListener
29 | *
30 | * @author Gaston Dombiak
31 | */
32 | public interface ReaderListener {
33 |
34 | /**
35 | * Notification that the Reader has read a new string.
36 | *
37 | * @param str the read String
38 | */
39 | public abstract void read(String str);
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/StringEncoder.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 |
15 | /**
16 | * @author Florian Schmaus
17 | */
18 | package org.jivesoftware.smack.util;
19 |
20 | // TODO move StringEncoder, Base64Encoder and Base32Encoder to smack.util
21 |
22 | public interface StringEncoder {
23 | /**
24 | * Encodes an string to another representation
25 | *
26 | * @param string
27 | * @return
28 | */
29 | public String encode(String string);
30 |
31 | /**
32 | * Decodes an string back to it's initial representation
33 | *
34 | * @param string
35 | * @return
36 | */
37 | public String decode(String string);
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/WriterListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smack.util;
22 |
23 | /**
24 | * Interface that allows for implementing classes to listen for string writing
25 | * events. Listeners are registered with ObservableWriter objects.
26 | *
27 | * @see ObservableWriter#addWriterListener
28 | * @see ObservableWriter#removeWriterListener
29 | *
30 | * @author Gaston Dombiak
31 | */
32 | public interface WriterListener {
33 |
34 | /**
35 | * Notification that the Writer has written a new string.
36 | *
37 | * @param str the written string
38 | */
39 | public abstract void write(String str);
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/collections/ResettableIterator.java:
--------------------------------------------------------------------------------
1 | // GenericsNote: Converted.
2 | /*
3 | * Copyright 2003-2004 The Apache Software Foundation
4 | *
5 | * Licensed under the Apache License, Version 2.0 (the "License");
6 | * you may not use this file except in compliance with the License.
7 | * You may obtain a copy of the License at
8 | *
9 | * http://www.apache.org/licenses/LICENSE-2.0
10 | *
11 | * Unless required by applicable law or agreed to in writing, software
12 | * distributed under the License is distributed on an "AS IS" BASIS,
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | * See the License for the specific language governing permissions and
15 | * limitations under the License.
16 | */
17 | package org.jivesoftware.smack.util.collections;
18 |
19 | import java.util.Iterator;
20 |
21 | /**
22 | * Defines an iterator that can be reset back to an initial state.
23 | *
24 | * This interface allows an iterator to be repeatedly reused.
25 | *
26 | * @author Matt Hall, John Watkinson, Stephen Colebourne
27 | * @version $Revision: 1.1 $ $Date: 2005/10/11 17:05:19 $
28 | * @since Commons Collections 3.0
29 | */
30 | public interface ResettableIterator extends Iterator {
31 |
32 | /**
33 | * Resets the iterator back to the position at which the iterator
34 | * was created.
35 | */
36 | public void reset();
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/dns/DNSResolver.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2013 Florian Schmaus
3 | *
4 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package org.jivesoftware.smack.util.dns;
17 |
18 | import java.util.List;
19 |
20 | public abstract class DNSResolver {
21 |
22 | public abstract List lookupSRVRecords(String name);
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smack/util/package.html:
--------------------------------------------------------------------------------
1 | Utility classes.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/ChatStateListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision: 2407 $
4 | * $Date: 2004-11-02 15:37:00 -0800 (Tue, 02 Nov 2004) $
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smackx;
22 |
23 | import org.jivesoftware.smack.Chat;
24 | import org.jivesoftware.smack.MessageListener;
25 |
26 | /**
27 | * Events for when the state of a user in a chat changes.
28 | *
29 | * @author Alexander Wenckus
30 | */
31 | public interface ChatStateListener extends MessageListener {
32 |
33 | /**
34 | * Fired when the state of a chat with another user changes.
35 | *
36 | * @param chat the chat in which the state has changed.
37 | * @param state the new state of the participant.
38 | */
39 | void stateChanged(Chat chat, ChatState state);
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/PEPListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile: PEPListener.java,v $
3 | * $Revision: 1.1 $
4 | * $Date: 2007/11/03 00:14:32 $
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smackx;
22 |
23 | import org.jivesoftware.smackx.packet.PEPEvent;
24 |
25 |
26 | /**
27 | *
28 | * A listener that is fired anytime a PEP event message is received.
29 | *
30 | * @author Jeff Williams
31 | */
32 | public interface PEPListener {
33 |
34 | /**
35 | * Called when PEP events are received as part of a presence subscribe or message filter.
36 | *
37 | * @param from the user that sent the entries.
38 | * @param event the event contained in the message.
39 | */
40 | public void eventReceived(String from, PEPEvent event);
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/bookmark/SharedBookmark.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.bookmark;
21 |
22 | /**
23 | * Interface to indicate if a bookmark is shared across the server.
24 | *
25 | * @author Alexander Wenckus
26 | */
27 | public interface SharedBookmark {
28 |
29 | /**
30 | * Returns true if this bookmark is shared.
31 | *
32 | * @return returns true if this bookmark is shared.
33 | */
34 | public boolean isShared();
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/provider/CloseIQProvider.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.bytestreams.ibb.provider;
15 |
16 | import org.jivesoftware.smack.packet.IQ;
17 | import org.jivesoftware.smack.provider.IQProvider;
18 | import org.jivesoftware.smackx.bytestreams.ibb.packet.Close;
19 | import org.xmlpull.v1.XmlPullParser;
20 |
21 | /**
22 | * Parses a close In-Band Bytestream packet.
23 | *
24 | * @author Henning Staib
25 | */
26 | public class CloseIQProvider implements IQProvider {
27 |
28 | public IQ parseIQ(XmlPullParser parser) throws Exception {
29 | String sid = parser.getAttributeValue("", "sid");
30 | return new Close(sid);
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/debugger/package.html:
--------------------------------------------------------------------------------
1 | Smack optional Debuggers.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/entitycaps/cache/EntityCapsPersistentCache.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.entitycaps.cache;
15 |
16 | import java.io.IOException;
17 |
18 | import org.jivesoftware.smackx.packet.DiscoverInfo;
19 |
20 | public interface EntityCapsPersistentCache {
21 | /**
22 | * Add an DiscoverInfo to the persistent Cache
23 | *
24 | * @param node
25 | * @param info
26 | */
27 | abstract void addDiscoverInfoByNodePersistent(String node, DiscoverInfo info);
28 |
29 | /**
30 | * Replay the Caches data into EntityCapsManager
31 | */
32 | abstract void replay() throws IOException;
33 |
34 | /**
35 | * Empty the Cache
36 | */
37 | abstract void emptyCache();
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransferListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2006 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 | package org.jivesoftware.smackx.filetransfer;
21 |
22 | /**
23 | * File transfers can cause several events to be raised. These events can be
24 | * monitored through this interface.
25 | *
26 | * @author Alexander Wenckus
27 | */
28 | public interface FileTransferListener {
29 | /**
30 | * A request to send a file has been recieved from another user.
31 | *
32 | * @param request
33 | * The request from the other user.
34 | */
35 | public void fileTransferRequest(final FileTransferRequest request);
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/muc/InvitationRejectionListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smackx.muc;
22 |
23 | /**
24 | * A listener that is fired anytime an invitee declines or rejects an invitation.
25 | *
26 | * @author Gaston Dombiak
27 | */
28 | public interface InvitationRejectionListener {
29 |
30 | /**
31 | * Called when the invitee declines the invitation.
32 | *
33 | * @param invitee the invitee that declined the invitation. (e.g. hecate@shakespeare.lit).
34 | * @param reason the reason why the invitee declined the invitation.
35 | */
36 | public abstract void invitationDeclined(String invitee, String reason);
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/muc/SubjectUpdatedListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smackx.muc;
22 |
23 | /**
24 | * A listener that is fired anytime a MUC room changes its subject.
25 | *
26 | * @author Gaston Dombiak
27 | */
28 | public interface SubjectUpdatedListener {
29 |
30 | /**
31 | * Called when a MUC room has changed its subject.
32 | *
33 | * @param subject the new room's subject.
34 | * @param from the user that changed the room's subject (e.g. room@conference.jabber.org/nick).
35 | */
36 | public abstract void subjectUpdated(String subject, String from);
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/muc/package.html:
--------------------------------------------------------------------------------
1 | Classes and Interfaces that implement Multi-User Chat (MUC).
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/package.html:
--------------------------------------------------------------------------------
1 | Smack extensions API.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/packet/package.html:
--------------------------------------------------------------------------------
1 | XML packets that are part of the XMPP extension protocols.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/ping/PingFailedListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2012 Florian Schmaus
3 | *
4 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.jivesoftware.smackx.ping;
18 |
19 | public interface PingFailedListener {
20 | void pingFailed();
21 | }
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/ping/packet/Ping.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2012 Florian Schmaus
3 | *
4 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.jivesoftware.smackx.ping.packet;
18 |
19 | import org.jivesoftware.smack.packet.IQ;
20 | import org.jivesoftware.smackx.ping.PingManager;
21 |
22 | public class Ping extends IQ {
23 |
24 | public Ping() {
25 | }
26 |
27 | public Ping(String from, String to) {
28 | setTo(to);
29 | setFrom(from);
30 | setType(Type.GET);
31 | setPacketID(getPacketID());
32 | }
33 |
34 | public String getChildElementXML() {
35 | return "<" + PingManager.ELEMENT + " xmlns=\'" + PingManager.NAMESPACE + "\' />";
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/ping/provider/PingProvider.java:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2012 Florian Schmaus
3 | *
4 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.jivesoftware.smackx.ping.provider;
18 |
19 | import org.jivesoftware.smack.packet.IQ;
20 | import org.jivesoftware.smack.provider.IQProvider;
21 | import org.jivesoftware.smackx.ping.packet.Ping;
22 | import org.xmlpull.v1.XmlPullParser;
23 |
24 | public class PingProvider implements IQProvider {
25 |
26 | public IQ parseIQ(XmlPullParser parser) throws Exception {
27 | // No need to use the ping constructor with arguments. IQ will already
28 | // have filled out all relevant fields ('from', 'to', 'id').
29 | return new Ping();
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/provider/package.html:
--------------------------------------------------------------------------------
1 | Provides pluggable parsing logic for Smack extensions.
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/ChildrenAssociationPolicy.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | /**
17 | * This enumeration represents the children association policy for associating leaf nodes
18 | * with collection nodes as defined in the pubsub specification section 16.4.3
19 | *
20 | * @author Robin Collier
21 | */
22 | public enum ChildrenAssociationPolicy
23 | {
24 | /** Anyone may associate leaf nodes with the collection */
25 | all,
26 |
27 | /** Only collection node owners may associate leaf nodes with the collection. */
28 | owners,
29 |
30 | /** Only those on a whitelist may associate leaf nodes with the collection. */
31 | whitelist;
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/CollectionNode.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 | /*
21 | * Created on 2009-07-13
22 | */
23 | package org.jivesoftware.smackx.pubsub;
24 |
25 | import org.jivesoftware.smack.Connection;
26 |
27 | public class CollectionNode extends Node
28 | {
29 | CollectionNode(Connection connection, String nodeId)
30 | {
31 | super(connection, nodeId);
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/EventElementType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | /**
17 | * This enumeration defines the possible event types that are supported within pubsub
18 | * event messages.
19 | *
20 | * @author Robin Collier
21 | */
22 | public enum EventElementType
23 | {
24 | /** A node has been associated or dissassociated with a collection node */
25 | collection,
26 |
27 | /** A node has had its configuration changed */
28 | configuration,
29 |
30 | /** A node has been deleted */
31 | delete,
32 |
33 | /** Items have been published to a node */
34 | items,
35 |
36 | /** All items have been purged from a node */
37 | purge,
38 |
39 | /** A node has been subscribed to */
40 | subscription
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/FormType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | import org.jivesoftware.smackx.Form;
17 |
18 | /**
19 | * Defines the allowable types for a {@link Form}
20 | *
21 | * @author Robin Collier
22 | */
23 | public enum FormType
24 | {
25 | form, submit, cancel, result;
26 | }
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/ItemReply.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | /**
17 | * These are the options for the node configuration setting {@link ConfigureForm#setItemReply(ItemReply)},
18 | * which defines who should receive replies to items.
19 | *
20 | * @author Robin Collier
21 | */
22 | public enum ItemReply
23 | {
24 | /** The node owner */
25 | owner,
26 |
27 | /** The item publisher */
28 | publisher;
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/NodeEvent.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 | /*
21 | * Created on 2009-05-12
22 | */
23 | package org.jivesoftware.smackx.pubsub;
24 |
25 | abstract public class NodeEvent
26 | {
27 | private String nodeId;
28 |
29 | protected NodeEvent(String id)
30 | {
31 | nodeId = id;
32 | }
33 |
34 | public String getNodeId()
35 | {
36 | return nodeId;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/NodeType.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | /**
17 | * Defines the available types of nodes
18 | *
19 | * @author Robin Collier
20 | */
21 | public enum NodeType
22 | {
23 | leaf,
24 | collection;
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/PresenceState.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | /**
17 | * Defines the possible valid presence states for node subscription via
18 | * {@link SubscribeForm#getShowValues()}.
19 | *
20 | * @author Robin Collier
21 | */
22 | public enum PresenceState
23 | {
24 | chat, online, away, xa, dnd
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/PublishModel.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub;
15 |
16 | /**
17 | * Determines who may publish to a node. Denotes possible values
18 | * for {@link ConfigureForm#setPublishModel(PublishModel)}.
19 | *
20 | * @author Robin Collier
21 | */
22 | public enum PublishModel
23 | {
24 | /** Only publishers may publish */
25 | publishers,
26 |
27 | /** Only subscribers may publish */
28 | subscribers,
29 |
30 | /** Anyone may publish */
31 | open;
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/listener/ItemEventListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub.listener;
15 |
16 | import org.jivesoftware.smackx.pubsub.Item;
17 | import org.jivesoftware.smackx.pubsub.ItemPublishEvent;
18 | import org.jivesoftware.smackx.pubsub.LeafNode;
19 |
20 | /**
21 | * Defines the listener for items being published to a node.
22 | *
23 | * @see LeafNode#addItemEventListener(ItemEventListener)
24 | *
25 | * @author Robin Collier
26 | */
27 | public interface ItemEventListener
28 | {
29 | /**
30 | * Called whenever an item is published to the node the listener
31 | * is registered with.
32 | *
33 | * @param items The publishing details.
34 | */
35 | void handlePublishedItems(ItemPublishEvent items);
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/listener/NodeConfigListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub.listener;
15 |
16 | import org.jivesoftware.smackx.pubsub.ConfigurationEvent;
17 | import org.jivesoftware.smackx.pubsub.LeafNode;
18 |
19 | /**
20 | * Defines the listener for a node being configured.
21 | *
22 | * @see LeafNode#addConfigurationListener(NodeConfigListener)
23 | *
24 | * @author Robin Collier
25 | */
26 | public interface NodeConfigListener
27 | {
28 | /**
29 | * Called whenever the node the listener
30 | * is registered with is configured.
31 | *
32 | * @param config The configuration details.
33 | */
34 | void handleNodeConfiguration(ConfigurationEvent config);
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/pubsub/util/XmlUtils.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.pubsub.util;
15 |
16 | import java.io.StringReader;
17 |
18 | /**
19 | * Simple utility for pretty printing xml.
20 | *
21 | * @author Robin Collier
22 | */
23 | public class XmlUtils
24 | {
25 |
26 | static public void appendAttribute(StringBuilder builder, String att, String value)
27 | {
28 | builder.append(" ");
29 | builder.append(att);
30 | builder.append("='");
31 | builder.append(value);
32 | builder.append("'");
33 | }
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentRosterListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.agent;
21 |
22 | import org.jivesoftware.smack.packet.Presence;
23 |
24 | /**
25 | *
26 | * @author Matt Tucker
27 | */
28 | public interface AgentRosterListener {
29 |
30 | public void agentAdded(String jid);
31 |
32 | public void agentRemoved(String jid);
33 |
34 | public void presenceChanged(Presence presence);
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/org/jivesoftware/smackx/workgroup/agent/OfferConfirmationListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 | package org.jivesoftware.smackx.workgroup.agent;
20 |
21 | public interface OfferConfirmationListener {
22 |
23 |
24 | /**
25 | * The implementing class instance will be notified via this when the AgentSession has confirmed
26 | * the acceptance of the Offer
. The instance will then have the ability to create the room and
27 | * send the service the room name created for tracking.
28 | *
29 | * @param confirmedOffer the ConfirmedOffer
30 | */
31 | void offerConfirmed(OfferConfirmation confirmedOffer);
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/AFSDBRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * AFS Data Base Record - maps a domain name to the name of an AFS cell
7 | * database server.
8 | *
9 | *
10 | * @author Brian Wellington
11 | */
12 |
13 | public class AFSDBRecord extends U16NameBase {
14 |
15 | private static final long serialVersionUID = 3034379930729102437L;
16 |
17 | AFSDBRecord() {}
18 |
19 | Record
20 | getObject() {
21 | return new AFSDBRecord();
22 | }
23 |
24 | /**
25 | * Creates an AFSDB Record from the given data.
26 | * @param subtype Indicates the type of service provided by the host.
27 | * @param host The host providing the service.
28 | */
29 | public
30 | AFSDBRecord(Name name, int dclass, long ttl, int subtype, Name host) {
31 | super(name, Type.AFSDB, dclass, ttl, subtype, "subtype", host, "host");
32 | }
33 |
34 | /** Gets the subtype indicating the service provided by the host. */
35 | public int
36 | getSubtype() {
37 | return getU16Field();
38 | }
39 |
40 | /** Gets the host providing service for the domain. */
41 | public Name
42 | getHost() {
43 | return getNameField();
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/CNAMERecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * CNAME Record - maps an alias to its real name
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class CNAMERecord extends SingleCompressedNameBase {
12 |
13 | private static final long serialVersionUID = -4020373886892538580L;
14 |
15 | CNAMERecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new CNAMERecord();
20 | }
21 |
22 | /**
23 | * Creates a new CNAMERecord with the given data
24 | * @param alias The name to which the CNAME alias points
25 | */
26 | public
27 | CNAMERecord(Name name, int dclass, long ttl, Name alias) {
28 | super(name, Type.CNAME, dclass, ttl, alias, "alias");
29 | }
30 |
31 | /**
32 | * Gets the target of the CNAME Record
33 | */
34 | public Name
35 | getTarget() {
36 | return getSingleName();
37 | }
38 |
39 | /** Gets the alias specified by the CNAME Record */
40 | public Name
41 | getAlias() {
42 | return getSingleName();
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/DHCIDRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2008 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.io.*;
6 | import org.xbill.DNS.utils.base64;
7 |
8 | /**
9 | * DHCID - Dynamic Host Configuration Protocol (DHCP) ID (RFC 4701)
10 | *
11 | * @author Brian Wellington
12 | */
13 |
14 | public class DHCIDRecord extends Record {
15 |
16 | private static final long serialVersionUID = -8214820200808997707L;
17 |
18 | private byte [] data;
19 |
20 | DHCIDRecord() {}
21 |
22 | Record
23 | getObject() {
24 | return new DHCIDRecord();
25 | }
26 |
27 | /**
28 | * Creates an DHCID Record from the given data
29 | * @param data The binary data, which is opaque to DNS.
30 | */
31 | public
32 | DHCIDRecord(Name name, int dclass, long ttl, byte [] data) {
33 | super(name, Type.DHCID, dclass, ttl);
34 | this.data = data;
35 | }
36 |
37 | void
38 | rrFromWire(DNSInput in) throws IOException {
39 | data = in.readByteArray();
40 | }
41 |
42 | void
43 | rdataFromString(Tokenizer st, Name origin) throws IOException {
44 | data = st.getBase64();
45 | }
46 |
47 | void
48 | rrToWire(DNSOutput out, Compression c, boolean canonical) {
49 | out.writeByteArray(data);
50 | }
51 |
52 | String
53 | rrToString() {
54 | return base64.toString(data);
55 | }
56 |
57 | /**
58 | * Returns the binary data.
59 | */
60 | public byte []
61 | getData() {
62 | return data;
63 | }
64 |
65 | }
66 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/DNAMERecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * DNAME Record - maps a nonterminal alias (subtree) to a different domain
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class DNAMERecord extends SingleNameBase {
12 |
13 | private static final long serialVersionUID = 2670767677200844154L;
14 |
15 | DNAMERecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new DNAMERecord();
20 | }
21 |
22 | /**
23 | * Creates a new DNAMERecord with the given data
24 | * @param alias The name to which the DNAME alias points
25 | */
26 | public
27 | DNAMERecord(Name name, int dclass, long ttl, Name alias) {
28 | super(name, Type.DNAME, dclass, ttl, alias, "alias");
29 | }
30 |
31 | /**
32 | * Gets the target of the DNAME Record
33 | */
34 | public Name
35 | getTarget() {
36 | return getSingleName();
37 | }
38 |
39 | /** Gets the alias specified by the DNAME Record */
40 | public Name
41 | getAlias() {
42 | return getSingleName();
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/EmptyRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.io.*;
6 |
7 | /**
8 | * A class implementing Records with no data; that is, records used in
9 | * the question section of messages and meta-records in dynamic update.
10 | *
11 | * @author Brian Wellington
12 | */
13 |
14 | class EmptyRecord extends Record {
15 |
16 | private static final long serialVersionUID = 3601852050646429582L;
17 |
18 | EmptyRecord() {}
19 |
20 | Record
21 | getObject() {
22 | return new EmptyRecord();
23 | }
24 |
25 | void
26 | rrFromWire(DNSInput in) throws IOException {
27 | }
28 |
29 | void
30 | rdataFromString(Tokenizer st, Name origin) throws IOException {
31 | }
32 |
33 | String
34 | rrToString() {
35 | return "";
36 | }
37 |
38 | void
39 | rrToWire(DNSOutput out, Compression c, boolean canonical) {
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/ExtendedFlags.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Constants and functions relating to EDNS flags.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public final class ExtendedFlags {
12 |
13 | private static Mnemonic extflags = new Mnemonic("EDNS Flag",
14 | Mnemonic.CASE_LOWER);
15 |
16 | /** dnssec ok */
17 | public static final int DO = 0x8000;
18 |
19 | static {
20 | extflags.setMaximum(0xFFFF);
21 | extflags.setPrefix("FLAG");
22 | extflags.setNumericAllowed(true);
23 |
24 | extflags.add(DO, "do");
25 | }
26 |
27 | private
28 | ExtendedFlags() {}
29 |
30 | /** Converts a numeric extended flag into a String */
31 | public static String
32 | string(int i) {
33 | return extflags.getText(i);
34 | }
35 |
36 | /**
37 | * Converts a textual representation of an extended flag into its numeric
38 | * value
39 | */
40 | public static int
41 | value(String s) {
42 | return extflags.getValue(s);
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/GenericEDNSOption.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 | package org.xbill.DNS;
3 |
4 | import java.io.*;
5 |
6 | import org.xbill.DNS.utils.base16;
7 |
8 | /**
9 | * An EDNSOption with no internal structure.
10 | *
11 | * @author Ming Zhou <mizhou@bnivideo.com>, Beaumaris Networks
12 | * @author Brian Wellington
13 | */
14 | public class GenericEDNSOption extends EDNSOption {
15 |
16 | private byte [] data;
17 |
18 | GenericEDNSOption(int code) {
19 | super(code);
20 | }
21 |
22 | /**
23 | * Construct a generic EDNS option.
24 | * @param data The contents of the option.
25 | */
26 | public
27 | GenericEDNSOption(int code, byte [] data) {
28 | super(code);
29 | this.data = Record.checkByteArrayLength("option data", data, 0xFFFF);
30 | }
31 |
32 | void
33 | optionFromWire(DNSInput in) throws IOException {
34 | data = in.readByteArray();
35 | }
36 |
37 | void
38 | optionToWire(DNSOutput out) {
39 | out.writeByteArray(data);
40 | }
41 |
42 | String
43 | optionToString() {
44 | return "<" + base16.toString(data) + ">";
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/InvalidDClassException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2003-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * An exception thrown when an invalid dclass code is specified.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class InvalidDClassException extends IllegalArgumentException {
12 |
13 | public
14 | InvalidDClassException(int dclass) {
15 | super("Invalid DNS class: " + dclass);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/InvalidTTLException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2003-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * An exception thrown when an invalid TTL is specified.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class InvalidTTLException extends IllegalArgumentException {
12 |
13 | public
14 | InvalidTTLException(long ttl) {
15 | super("Invalid DNS TTL: " + ttl);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/InvalidTypeException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2003-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * An exception thrown when an invalid type code is specified.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class InvalidTypeException extends IllegalArgumentException {
12 |
13 | public
14 | InvalidTypeException(int type) {
15 | super("Invalid DNS type: " + type);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/KXRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Key Exchange - delegation of authority
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class KXRecord extends U16NameBase {
12 |
13 | private static final long serialVersionUID = 7448568832769757809L;
14 |
15 | KXRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new KXRecord();
20 | }
21 |
22 | /**
23 | * Creates a KX Record from the given data
24 | * @param preference The preference of this KX. Records with lower priority
25 | * are preferred.
26 | * @param target The host that authority is delegated to
27 | */
28 | public
29 | KXRecord(Name name, int dclass, long ttl, int preference, Name target) {
30 | super(name, Type.KX, dclass, ttl, preference, "preference",
31 | target, "target");
32 | }
33 |
34 | /** Returns the target of the KX record */
35 | public Name
36 | getTarget() {
37 | return getNameField();
38 | }
39 |
40 | /** Returns the preference of this KX record */
41 | public int
42 | getPreference() {
43 | return getU16Field();
44 | }
45 |
46 | public Name
47 | getAdditionalName() {
48 | return getNameField();
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/MBRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Mailbox Record - specifies a host containing a mailbox.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class MBRecord extends SingleNameBase {
12 |
13 | private static final long serialVersionUID = 532349543479150419L;
14 |
15 | MBRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new MBRecord();
20 | }
21 |
22 | /**
23 | * Creates a new MB Record with the given data
24 | * @param mailbox The host containing the mailbox for the domain.
25 | */
26 | public
27 | MBRecord(Name name, int dclass, long ttl, Name mailbox) {
28 | super(name, Type.MB, dclass, ttl, mailbox, "mailbox");
29 | }
30 |
31 | /** Gets the mailbox for the domain */
32 | public Name
33 | getMailbox() {
34 | return getSingleName();
35 | }
36 |
37 | public Name
38 | getAdditionalName() {
39 | return getSingleName();
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/MDRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Mail Destination Record - specifies a mail agent which delivers mail
7 | * for a domain (obsolete)
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | public class MDRecord extends SingleNameBase {
13 |
14 | private static final long serialVersionUID = 5268878603762942202L;
15 |
16 | MDRecord() {}
17 |
18 | Record
19 | getObject() {
20 | return new MDRecord();
21 | }
22 |
23 | /**
24 | * Creates a new MD Record with the given data
25 | * @param mailAgent The mail agent that delivers mail for the domain.
26 | */
27 | public
28 | MDRecord(Name name, int dclass, long ttl, Name mailAgent) {
29 | super(name, Type.MD, dclass, ttl, mailAgent, "mail agent");
30 | }
31 |
32 | /** Gets the mail agent for the domain */
33 | public Name
34 | getMailAgent() {
35 | return getSingleName();
36 | }
37 |
38 | public Name
39 | getAdditionalName() {
40 | return getSingleName();
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/MFRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Mail Forwarder Record - specifies a mail agent which forwards mail
7 | * for a domain (obsolete)
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | public class MFRecord extends SingleNameBase {
13 |
14 | private static final long serialVersionUID = -6670449036843028169L;
15 |
16 | MFRecord() {}
17 |
18 | Record
19 | getObject() {
20 | return new MFRecord();
21 | }
22 |
23 | /**
24 | * Creates a new MF Record with the given data
25 | * @param mailAgent The mail agent that forwards mail for the domain.
26 | */
27 | public
28 | MFRecord(Name name, int dclass, long ttl, Name mailAgent) {
29 | super(name, Type.MF, dclass, ttl, mailAgent, "mail agent");
30 | }
31 |
32 | /** Gets the mail agent for the domain */
33 | public Name
34 | getMailAgent() {
35 | return getSingleName();
36 | }
37 |
38 | public Name
39 | getAdditionalName() {
40 | return getSingleName();
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/MGRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Mail Group Record - specifies a mailbox which is a member of a mail group.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class MGRecord extends SingleNameBase {
12 |
13 | private static final long serialVersionUID = -3980055550863644582L;
14 |
15 | MGRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new MGRecord();
20 | }
21 |
22 | /**
23 | * Creates a new MG Record with the given data
24 | * @param mailbox The mailbox that is a member of the group specified by the
25 | * domain.
26 | */
27 | public
28 | MGRecord(Name name, int dclass, long ttl, Name mailbox) {
29 | super(name, Type.MG, dclass, ttl, mailbox, "mailbox");
30 | }
31 |
32 | /** Gets the mailbox in the mail group specified by the domain */
33 | public Name
34 | getMailbox() {
35 | return getSingleName();
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/MRRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Mailbox Rename Record - specifies a rename of a mailbox.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class MRRecord extends SingleNameBase {
12 |
13 | private static final long serialVersionUID = -5617939094209927533L;
14 |
15 | MRRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new MRRecord();
20 | }
21 |
22 | /**
23 | * Creates a new MR Record with the given data
24 | * @param newName The new name of the mailbox specified by the domain.
25 | * domain.
26 | */
27 | public
28 | MRRecord(Name name, int dclass, long ttl, Name newName) {
29 | super(name, Type.MR, dclass, ttl, newName, "new name");
30 | }
31 |
32 | /** Gets the new name of the mailbox specified by the domain */
33 | public Name
34 | getNewName() {
35 | return getSingleName();
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/MXRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Mail Exchange - specifies where mail to a domain is sent
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class MXRecord extends U16NameBase {
12 |
13 | private static final long serialVersionUID = 2914841027584208546L;
14 |
15 | MXRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new MXRecord();
20 | }
21 |
22 | /**
23 | * Creates an MX Record from the given data
24 | * @param priority The priority of this MX. Records with lower priority
25 | * are preferred.
26 | * @param target The host that mail is sent to
27 | */
28 | public
29 | MXRecord(Name name, int dclass, long ttl, int priority, Name target) {
30 | super(name, Type.MX, dclass, ttl, priority, "priority",
31 | target, "target");
32 | }
33 |
34 | /** Returns the target of the MX record */
35 | public Name
36 | getTarget() {
37 | return getNameField();
38 | }
39 |
40 | /** Returns the priority of this MX record */
41 | public int
42 | getPriority() {
43 | return getU16Field();
44 | }
45 |
46 | void
47 | rrToWire(DNSOutput out, Compression c, boolean canonical) {
48 | out.writeU16(u16Field);
49 | nameField.toWire(out, c, canonical);
50 | }
51 |
52 | public Name
53 | getAdditionalName() {
54 | return getNameField();
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/NSAP_PTRRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * NSAP Pointer Record - maps a domain name representing an NSAP Address to
7 | * a hostname.
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | public class NSAP_PTRRecord extends SingleNameBase {
13 |
14 | private static final long serialVersionUID = 2386284746382064904L;
15 |
16 | NSAP_PTRRecord() {}
17 |
18 | Record
19 | getObject() {
20 | return new NSAP_PTRRecord();
21 | }
22 |
23 | /**
24 | * Creates a new NSAP_PTR Record with the given data
25 | * @param target The name of the host with this address
26 | */
27 | public
28 | NSAP_PTRRecord(Name name, int dclass, long ttl, Name target) {
29 | super(name, Type.NSAP_PTR, dclass, ttl, target, "target");
30 | }
31 |
32 | /** Gets the target of the NSAP_PTR Record */
33 | public Name
34 | getTarget() {
35 | return getSingleName();
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/NSIDOption.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * The Name Server Identifier Option, define in RFC 5001.
7 | *
8 | * @see OPTRecord
9 | *
10 | * @author Brian Wellington
11 | */
12 | public class NSIDOption extends GenericEDNSOption {
13 |
14 | private static final long serialVersionUID = 74739759292589056L;
15 |
16 | NSIDOption() {
17 | super(EDNSOption.Code.NSID);
18 | }
19 |
20 | /**
21 | * Construct an NSID option.
22 | * @param data The contents of the option.
23 | */
24 | public
25 | NSIDOption(byte [] data) {
26 | super(EDNSOption.Code.NSID, data);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/NSRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Name Server Record - contains the name server serving the named zone
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class NSRecord extends SingleCompressedNameBase {
12 |
13 | private static final long serialVersionUID = 487170758138268838L;
14 |
15 | NSRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new NSRecord();
20 | }
21 |
22 | /**
23 | * Creates a new NS Record with the given data
24 | * @param target The name server for the given domain
25 | */
26 | public
27 | NSRecord(Name name, int dclass, long ttl, Name target) {
28 | super(name, Type.NS, dclass, ttl, target, "target");
29 | }
30 |
31 | /** Gets the target of the NS Record */
32 | public Name
33 | getTarget() {
34 | return getSingleName();
35 | }
36 |
37 | public Name
38 | getAdditionalName() {
39 | return getSingleName();
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/NameTooLongException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2002-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * An exception thrown when a name is longer than the maximum length of a DNS
7 | * name.
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | public class NameTooLongException extends WireParseException {
13 |
14 | public
15 | NameTooLongException() {
16 | super();
17 | }
18 |
19 | public
20 | NameTooLongException(String s) {
21 | super(s);
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/PTRRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Pointer Record - maps a domain name representing an Internet Address to
7 | * a hostname.
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | public class PTRRecord extends SingleCompressedNameBase {
13 |
14 | private static final long serialVersionUID = -8321636610425434192L;
15 |
16 | PTRRecord() {}
17 |
18 | Record
19 | getObject() {
20 | return new PTRRecord();
21 | }
22 |
23 | /**
24 | * Creates a new PTR Record with the given data
25 | * @param target The name of the machine with this address
26 | */
27 | public
28 | PTRRecord(Name name, int dclass, long ttl, Name target) {
29 | super(name, Type.PTR, dclass, ttl, target, "target");
30 | }
31 |
32 | /** Gets the target of the PTR Record */
33 | public Name
34 | getTarget() {
35 | return getSingleName();
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/RTRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Route Through Record - lists a route preference and intermediate host.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class RTRecord extends U16NameBase {
12 |
13 | private static final long serialVersionUID = -3206215651648278098L;
14 |
15 | RTRecord() {}
16 |
17 | Record
18 | getObject() {
19 | return new RTRecord();
20 | }
21 |
22 | /**
23 | * Creates an RT Record from the given data
24 | * @param preference The preference of the route. Smaller numbers indicate
25 | * more preferred routes.
26 | * @param intermediateHost The domain name of the host to use as a router.
27 | */
28 | public
29 | RTRecord(Name name, int dclass, long ttl, int preference,
30 | Name intermediateHost)
31 | {
32 | super(name, Type.RT, dclass, ttl, preference, "preference",
33 | intermediateHost, "intermediateHost");
34 | }
35 |
36 | /** Gets the preference of the route. */
37 | public int
38 | getPreference() {
39 | return getU16Field();
40 | }
41 |
42 | /** Gets the host to use as a router. */
43 | public Name
44 | getIntermediateHost() {
45 | return getNameField();
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/RelativeNameException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2003-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * An exception thrown when a relative name is passed as an argument to
7 | * a method requiring an absolute name.
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | public class RelativeNameException extends IllegalArgumentException {
13 |
14 | public
15 | RelativeNameException(Name name) {
16 | super("'" + name + "' is not an absolute name");
17 | }
18 |
19 | public
20 | RelativeNameException(String s) {
21 | super(s);
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/ResolveThread.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * A special-purpose thread used by Resolvers (both SimpleResolver and
7 | * ExtendedResolver) to perform asynchronous queries.
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | class ResolveThread extends Thread {
13 |
14 | private Message query;
15 | private Object id;
16 | private ResolverListener listener;
17 | private Resolver res;
18 |
19 | /** Creates a new ResolveThread */
20 | public
21 | ResolveThread(Resolver res, Message query, Object id,
22 | ResolverListener listener)
23 | {
24 | this.res = res;
25 | this.query = query;
26 | this.id = id;
27 | this.listener = listener;
28 | }
29 |
30 |
31 | /**
32 | * Performs the query, and executes the callback.
33 | */
34 | public void
35 | run() {
36 | try {
37 | Message response = res.send(query);
38 | listener.receiveMessage(id, response);
39 | }
40 | catch (Exception e) {
41 | listener.handleException(id, e);
42 | }
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/ResolverListener.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.util.EventListener;
6 |
7 | /**
8 | * An interface to the asynchronous resolver.
9 | * @see Resolver
10 | *
11 | * @author Brian Wellington
12 | */
13 |
14 | public interface ResolverListener extends EventListener {
15 |
16 | /**
17 | * The callback used by an asynchronous resolver
18 | * @param id The identifier returned by Resolver.sendAsync()
19 | * @param m The response message as returned by the Resolver
20 | */
21 | void receiveMessage(Object id, Message m);
22 |
23 | /**
24 | * The callback used by an asynchronous resolver when an exception is thrown
25 | * @param id The identifier returned by Resolver.sendAsync()
26 | * @param e The thrown exception
27 | */
28 | void handleException(Object id, Exception e);
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/SPFRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.util.*;
6 |
7 | /**
8 | * Sender Policy Framework (RFC 4408, experimental)
9 | *
10 | * @author Brian Wellington
11 | */
12 |
13 | public class SPFRecord extends TXTBase {
14 |
15 | private static final long serialVersionUID = -2100754352801658722L;
16 |
17 | SPFRecord() {}
18 |
19 | Record
20 | getObject() {
21 | return new SPFRecord();
22 | }
23 |
24 | /**
25 | * Creates a SPF Record from the given data
26 | * @param strings The text strings
27 | * @throws IllegalArgumentException One of the strings has invalid escapes
28 | */
29 | public
30 | SPFRecord(Name name, int dclass, long ttl, List strings) {
31 | super(name, Type.SPF, dclass, ttl, strings);
32 | }
33 |
34 | /**
35 | * Creates a SPF Record from the given data
36 | * @param string One text string
37 | * @throws IllegalArgumentException The string has invalid escapes
38 | */
39 | public
40 | SPFRecord(Name name, int dclass, long ttl, String string) {
41 | super(name, Type.SPF, dclass, ttl, string);
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/SingleCompressedNameBase.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * Implements common functionality for the many record types whose format
7 | * is a single compressed name.
8 | *
9 | * @author Brian Wellington
10 | */
11 |
12 | abstract class SingleCompressedNameBase extends SingleNameBase {
13 |
14 | private static final long serialVersionUID = -236435396815460677L;
15 |
16 | protected
17 | SingleCompressedNameBase() {}
18 |
19 | protected
20 | SingleCompressedNameBase(Name name, int type, int dclass, long ttl,
21 | Name singleName, String description)
22 | {
23 | super(name, type, dclass, ttl, singleName, description);
24 | }
25 |
26 | void
27 | rrToWire(DNSOutput out, Compression c, boolean canonical) {
28 | singleName.toWire(out, c, canonical);
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/SingleNameBase.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.io.*;
6 |
7 | /**
8 | * Implements common functionality for the many record types whose format
9 | * is a single name.
10 | *
11 | * @author Brian Wellington
12 | */
13 |
14 | abstract class SingleNameBase extends Record {
15 |
16 | private static final long serialVersionUID = -18595042501413L;
17 |
18 | protected Name singleName;
19 |
20 | protected
21 | SingleNameBase() {}
22 |
23 | protected
24 | SingleNameBase(Name name, int type, int dclass, long ttl) {
25 | super(name, type, dclass, ttl);
26 | }
27 |
28 | protected
29 | SingleNameBase(Name name, int type, int dclass, long ttl, Name singleName,
30 | String description)
31 | {
32 | super(name, type, dclass, ttl);
33 | this.singleName = checkName(description, singleName);
34 | }
35 |
36 | void
37 | rrFromWire(DNSInput in) throws IOException {
38 | singleName = new Name(in);
39 | }
40 |
41 | void
42 | rdataFromString(Tokenizer st, Name origin) throws IOException {
43 | singleName = st.getName(origin);
44 | }
45 |
46 | String
47 | rrToString() {
48 | return singleName.toString();
49 | }
50 |
51 | protected Name
52 | getSingleName() {
53 | return singleName;
54 | }
55 |
56 | void
57 | rrToWire(DNSOutput out, Compression c, boolean canonical) {
58 | singleName.toWire(out, null, canonical);
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/TXTRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.util.*;
6 |
7 | /**
8 | * Text - stores text strings
9 | *
10 | * @author Brian Wellington
11 | */
12 |
13 | public class TXTRecord extends TXTBase {
14 |
15 | private static final long serialVersionUID = -5780785764284221342L;
16 |
17 | TXTRecord() {}
18 |
19 | Record
20 | getObject() {
21 | return new TXTRecord();
22 | }
23 |
24 | /**
25 | * Creates a TXT Record from the given data
26 | * @param strings The text strings
27 | * @throws IllegalArgumentException One of the strings has invalid escapes
28 | */
29 | public
30 | TXTRecord(Name name, int dclass, long ttl, List strings) {
31 | super(name, Type.TXT, dclass, ttl, strings);
32 | }
33 |
34 | /**
35 | * Creates a TXT Record from the given data
36 | * @param string One text string
37 | * @throws IllegalArgumentException The string has invalid escapes
38 | */
39 | public
40 | TXTRecord(Name name, int dclass, long ttl, String string) {
41 | super(name, Type.TXT, dclass, ttl, string);
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/TextParseException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2002-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.io.*;
6 |
7 | /**
8 | * An exception thrown when unable to parse text.
9 | *
10 | * @author Brian Wellington
11 | */
12 |
13 | public class TextParseException extends IOException {
14 |
15 | public
16 | TextParseException() {
17 | super();
18 | }
19 |
20 | public
21 | TextParseException(String s) {
22 | super(s);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/UNKRecord.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.io.*;
6 |
7 | /**
8 | * A class implementing Records of unknown and/or unimplemented types. This
9 | * class can only be initialized using static Record initializers.
10 | *
11 | * @author Brian Wellington
12 | */
13 |
14 | public class UNKRecord extends Record {
15 |
16 | private static final long serialVersionUID = -4193583311594626915L;
17 |
18 | private byte [] data;
19 |
20 | UNKRecord() {}
21 |
22 | Record
23 | getObject() {
24 | return new UNKRecord();
25 | }
26 |
27 | void
28 | rrFromWire(DNSInput in) throws IOException {
29 | data = in.readByteArray();
30 | }
31 |
32 | void
33 | rdataFromString(Tokenizer st, Name origin) throws IOException {
34 | throw st.exception("invalid unknown RR encoding");
35 | }
36 |
37 | /** Converts this Record to the String "unknown format" */
38 | String
39 | rrToString() {
40 | return unknownToString(data);
41 | }
42 |
43 | /** Returns the contents of this record. */
44 | public byte []
45 | getData() {
46 | return data;
47 | }
48 |
49 | void
50 | rrToWire(DNSOutput out, Compression c, boolean canonical) {
51 | out.writeByteArray(data);
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/WireParseException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | import java.io.*;
6 |
7 | /**
8 | * An exception thrown when a DNS message is invalid.
9 | *
10 | * @author Brian Wellington
11 | */
12 |
13 | public class WireParseException extends IOException {
14 |
15 | public
16 | WireParseException() {
17 | super();
18 | }
19 |
20 | public
21 | WireParseException(String s) {
22 | super(s);
23 | }
24 |
25 | public
26 | WireParseException(String s, Throwable cause) {
27 | super(s);
28 | initCause(cause);
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/ZoneTransferException.java:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2003-2004 Brian Wellington (bwelling@xbill.org)
2 |
3 | package org.xbill.DNS;
4 |
5 | /**
6 | * An exception thrown when a zone transfer fails.
7 | *
8 | * @author Brian Wellington
9 | */
10 |
11 | public class ZoneTransferException extends Exception {
12 |
13 | public
14 | ZoneTransferException() {
15 | super();
16 | }
17 |
18 | public
19 | ZoneTransferException(String s) {
20 | super(s);
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/spi/services/sun.net.spi.nameservice.NameServiceDescriptor:
--------------------------------------------------------------------------------
1 | org.xbill.DNS.spi.DNSJavaNameServiceDescriptor
2 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/windows/DNSServer.properties:
--------------------------------------------------------------------------------
1 | host_name=Host Name
2 | primary_dns_suffix=Primary Dns Suffix
3 | dns_suffix=DNS Suffix
4 | dns_servers=DNS Servers
5 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/windows/DNSServer_de.properties:
--------------------------------------------------------------------------------
1 | host_name=Hostname
2 | primary_dns_suffix=Prim\u00E4res DNS-Suffix
3 | dns_suffix=DNS-Suffixsuchliste
4 | dns_servers=DNS-Server
5 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/windows/DNSServer_fr.properties:
--------------------------------------------------------------------------------
1 | host_name=Nom de l'h\u00F4te
2 | primary_dns_suffix=Suffixe DNS principal
3 | dns_suffix=Suffixe DNS propre \u00E0 la connexion
4 | dns_servers=Serveurs DNS
5 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/windows/DNSServer_ja.properties:
--------------------------------------------------------------------------------
1 | host_name=\u30db\u30b9\u30c8\u540d
2 | primary_dns_suffix=\u30d7\u30e9\u30a4\u30de\u30ea DNS \u30b5\u30d5\u30a3\u30c3\u30af\u30b9
3 | dns_suffix=DNS \u30b5\u30d5\u30a3\u30c3\u30af\u30b9
4 | dns_servers=DNS \u30b5\u30fc\u30d0\u30fc
5 |
--------------------------------------------------------------------------------
/app/src/main/java/org/xbill/DNS/windows/DNSServer_pl.properties:
--------------------------------------------------------------------------------
1 | host_name=Nazwa hosta
2 | primary_dns_suffix=Sufiks podstawowej domeny DNS
3 | dns_suffix=Sufiks DNS konkretnego po\u0142\u0105czenia
4 | dns_servers=Serwery DNS
5 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/cat_loading_dialog_animition.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/color/ksw_md_back_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bj_animation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bjdj_animation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
10 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/blue_led_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_chat_add_camera_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_chat_add_location_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_chat_add_picture_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_chat_add_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_chat_emo_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/btn_trans_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cat_loading_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/circle_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/contact_indicator_slector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/corner_gray_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/corner_gray_little_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/corner_white1_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/corner_white_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/door_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/drawer_item_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/edittext_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/fan_animation.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
11 |
14 |
17 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/green_led_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/image_masaage_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/drawable/image_masaage_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/image_masaage_left_night.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/drawable/image_masaage_left_night.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/image_masaage_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/drawable/image_masaage_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/image_masaage_right_night.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/drawable/image_masaage_right_night.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/item_recycler_view_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/led_button_off_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/led_button_on_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/led_button_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/loading_progress_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/login_button_normal_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/login_button_press_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/login_button_slector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/look_more_node_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/more_choice.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/drawable/more_choice.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/node_busy_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/node_offline_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/node_sleep_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/pop_button_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/press_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/red_circle_shape.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/red_led_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/select_line.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/show_password_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tab_contact_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tab_discover_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tab_message_slect.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/user_status_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/white_corner_slector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/yellow_led_selector.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/zldj_animation.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/act_dm.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
11 |
20 |
21 |
27 |
28 |
29 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/act_gd.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
19 |
20 |
21 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/chat_face_container.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
15 |
16 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_marker_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dropdown_lv_head.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
14 |
15 |
22 |
23 |
28 |
29 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/frag_contact.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/frag_discover.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
22 |
23 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/frag_message.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/loading_more_foot.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
16 |
17 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/loading_progress_dialog.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/pop_more_options.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
20 |
21 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/swipeback_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/arm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/arm.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/bjdj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/bjdj.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/blue_led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/blue_led.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/cat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/cat.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_camera_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_camera_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_camera_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_camera_press.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_location_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_location_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_location_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_location_press.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_picture_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_picture_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_picture_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_picture_press.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_add_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_add_press.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_emo_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_emo_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/chat_emo_press.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/chat_emo_press.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/delete_all_message.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/delete_all_message.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/eyes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/eyes.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/gdcgq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/gdcgq.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/green_led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/green_led.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/icon_more.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/icon_more.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/indicator_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/indicator_down.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/indicator_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/indicator_right.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/led.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/light.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_01.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_02.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_03.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_04.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_05.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_05.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_06.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_06.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_07.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_07.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_08.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_09.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_09.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_10.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_11.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/loading_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/loading_12.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/menci.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/menci.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/mouse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/mouse.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/node_fan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/node_fan.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/norm_led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/norm_led.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/online.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/online.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/red_led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/red_led.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/smoke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/smoke.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/user_status_offline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/user_status_offline.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/user_status_online.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/user_status_online.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/yellow_led.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/yellow_led.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/zldj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/zldj.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/zw_icon_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-hdpi/zw_icon_back.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_weibouser_female.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/ic_weibouser_female.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/marker2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/marker2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/shadow_bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/shadow_bottom.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/shadow_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/shadow_left.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/shadow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/shadow_right.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/topmenu_icn_exit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/topmenu_icn_exit.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/topmenu_icn_level.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/topmenu_icn_level.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/topmenu_icn_msg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/topmenu_icn_msg.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/topmenu_icn_set.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/topmenu_icn_set.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/topmenu_icn_time.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-mdpi/topmenu_icn_time.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/add_friend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/add_friend.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/bg_banner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/bg_banner.jpg
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/bj_alarm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/bj_alarm.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/bj_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/bj_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/bjdj1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/bjdj1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/bjdj2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/bjdj2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/bjdj3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/bjdj3.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/dl_icon_mmbkj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/dl_icon_mmbkj.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/dl_icon_mmkj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/dl_icon_mmkj.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/door_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/door_close.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/door_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/door_open.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/fan1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/fan1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/fan2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/fan2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/fan3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/fan3.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/fan4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/fan4.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/fan5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/fan5.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/login_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/login_image.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj3.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj4.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj5.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj6.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/zldj7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xhdpi/zldj7.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/add_friend.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/add_friend.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/cb_icon_discover_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/cb_icon_discover_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/cb_icon_discover_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/cb_icon_discover_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/cb_icon_more_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/cb_icon_more_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/cb_icon_more_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/cb_icon_more_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/cb_icon_tixing_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/cb_icon_tixing_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/cb_icon_tixing_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/cb_icon_tixing_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/dl_icon_mmbkj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/dl_icon_mmbkj.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/dl_icon_mmkj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/dl_icon_mmkj.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/node_head_img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxhdpi/node_head_img.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/bg_empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxxhdpi/bg_empty.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/raw/alarm.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/app/src/main/res/raw/alarm.mp3
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 46.0dip
4 | 20sp
5 | 10sp
6 | 12sp
7 | 14sp
8 | 16sp
9 | 18sp
10 |
11 | 42dp
12 | 11dp
13 | 11dp
14 | 11dp
15 | 10dp
16 |
17 | 20dp
18 | 21dp
19 | 2dp
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | Xmpp
3 | 消息
4 | 发现
5 | 好友
6 | 账号
7 | 密码
8 | 登录
9 | 登录中...
10 | 登录失败:
11 | 新用户
12 | 登陆设置
13 | 用户名不能为空!
14 | 密码不能为空!
15 | 加载中…
16 | 在线
17 | 休眠
18 | 忙碌
19 | 离线
20 | 周期订阅
21 | 上线订阅
22 | 下线订阅
23 | 清空所有消息
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/test/java/com/cqupt/xmpp/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.cqupt.xmpp;
2 |
3 | import org.junit.Test;
4 |
5 | import static org.junit.Assert.*;
6 |
7 | /**
8 | * To work on unit tests, switch the Test Artifact in the Build Variants view.
9 | */
10 | public class ExampleUnitTest {
11 | @Test
12 | public void addition_isCorrect() throws Exception {
13 | assertEquals(4, 2 + 2);
14 | }
15 | }
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.2.2'
9 |
10 |
11 | // NOTE: Do not place your application dependencies here; they belong
12 | // in the individual module build.gradle files
13 | }
14 | }
15 |
16 | allprojects {
17 | repositories {
18 | jcenter()
19 | }
20 | }
21 |
22 | task clean(type: Delete) {
23 | delete rootProject.buildDir
24 | }
25 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
14 |
15 | # When configured, Gradle will run in incubating parallel mode.
16 | # This option should only be used with decoupled projects. More details, visit
17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
18 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tiandawu/IotXmpp/20339db1fa4bfdd2fbc5ca741797bf6fb5d21ceb/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Sep 14 14:36:23 CST 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------