导航菜单

页面标题

页面副标题

95爱播免登录版 v3.1.9 - XHTMLManager.java 源代码

正在查看: 95爱播免登录版 v3.1.9 应用的 XHTMLManager.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.jivesoftware.smackx;

import java.util.Iterator;
import org.jivesoftware.smack.Connection;
import org.jivesoftware.smack.ConnectionCreationListener;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smackx.packet.XHTMLExtension;

public class XHTMLManager {
    private static final String namespace = "http://jabber.org/protocol/xhtml-im";

    static {
        Connection.addConnectionCreationListener(new ConnectionCreationListener() {
            @Override
            public void connectionCreated(Connection connection) {
                XHTMLManager.setServiceEnabled(connection, true);
            }
        });
    }

    public static void addBody(Message message, String str) {
        XHTMLExtension extension = message.getExtension("html", namespace);
        if (extension == null) {
            extension = new XHTMLExtension();
            message.addExtension(extension);
        }
        extension.addBody(str);
    }

    public static Iterator<String> getBodies(Message message) {
        XHTMLExtension extension = message.getExtension("html", namespace);
        if (extension != null) {
            return extension.getBodies();
        }
        return null;
    }

    public static boolean isServiceEnabled(Connection connection) {
        return ServiceDiscoveryManager.getInstanceFor(connection).includesFeature(namespace);
    }

    public static boolean isXHTMLMessage(Message message) {
        return message.getExtension("html", namespace) != null;
    }

    public static synchronized void setServiceEnabled(Connection connection, boolean z) {
        synchronized (XHTMLManager.class) {
            if (isServiceEnabled(connection) == z) {
                return;
            }
            if (z) {
                ServiceDiscoveryManager.getInstanceFor(connection).addFeature(namespace);
            } else {
                ServiceDiscoveryManager.getInstanceFor(connection).removeFeature(namespace);
            }
        }
    }

    public static boolean isServiceEnabled(Connection connection, String str) {
        try {
            return ServiceDiscoveryManager.getInstanceFor(connection).discoverInfo(str).containsFeature(namespace);
        } catch (XMPPException e2) {
            e2.printStackTrace();
            return false;
        }
    }
}