@SuppressLint("PrivateApi")
    private String getAlpnSelectedProtocol() {
        if (!mAlpnEnabled) {
            return null;
        }
        String alpnResult = null;
        try {
            String sslEngineName = mSSLEngine.getClass().getSimpleName();
            if (sslEngineName.equals("Java8EngineWrapper")) {
                alpnResult = getJava8EngineWrapperAlpn();
            } else if (sslEngineName.equals("ConscryptEngine")){
                alpnResult = getConscryptEngineAlpn();
            } else {
                alpnResult = getOpenSSLEngineImplAlpn();
            }
        } catch (ClassNotFoundException | NoSuchMethodException | NoSuchFieldException
                | IllegalAccessException | InvocationTargetException e) {
            NetBareLog.e(e.getMessage());
        }
        return alpnResult;
    }
Http SSL codec enables Application-Layer Protocol Negotiation(ALPN).

See http://tools.ietf.org/html/draft-agl-tls-nextprotoneg-04#page-4

@author Megatron King
@since 2019/1/3 23:31
netbare-core/src/main/java/com/github/megatronking/netbare/http/HttpSSLResponseCodec.java