CrackMe.apk

Download file
    package com.google.android.exoplayer2.source.rtsp;

import com.google.android.exoplayer2.util.Util;
import com.google.common.base.Ascii;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Iterables;
import java.util.List;
import java.util.Map;

final class RtspHeaders {
    public static final String ACCEPT = "Accept";
    public static final String ALLOW = "Allow";
    public static final String AUTHORIZATION = "Authorization";
    public static final String BANDWIDTH = "Bandwidth";
    public static final String BLOCKSIZE = "Blocksize";
    public static final String CACHE_CONTROL = "Cache-Control";
    public static final String CONNECTION = "Connection";
    public static final String CONTENT_BASE = "Content-Base";
    public static final String CONTENT_ENCODING = "Content-Encoding";
    public static final String CONTENT_LANGUAGE = "Content-Language";
    public static final String CONTENT_LENGTH = "Content-Length";
    public static final String CONTENT_LOCATION = "Content-Location";
    public static final String CONTENT_TYPE = "Content-Type";
    public static final String CSEQ = "CSeq";
    public static final String DATE = "Date";
    public static final RtspHeaders EMPTY = new Builder().build();
    public static final String EXPIRES = "Expires";
    public static final String LOCATION = "Location";
    public static final String PROXY_AUTHENTICATE = "Proxy-Authenticate";
    public static final String PROXY_REQUIRE = "Proxy-Require";
    public static final String PUBLIC = "Public";
    public static final String RANGE = "Range";
    public static final String RTCP_INTERVAL = "RTCP-Interval";
    public static final String RTP_INFO = "RTP-Info";
    public static final String SCALE = "Scale";
    public static final String SESSION = "Session";
    public static final String SPEED = "Speed";
    public static final String SUPPORTED = "Supported";
    public static final String TIMESTAMP = "Timestamp";
    public static final String TRANSPORT = "Transport";
    public static final String USER_AGENT = "User-Agent";
    public static final String VIA = "Via";
    public static final String WWW_AUTHENTICATE = "WWW-Authenticate";
    private final ImmutableListMultimap<String, String> namesAndValues;

    public static final class Builder {
        /* access modifiers changed from: private */
        public final ImmutableListMultimap.Builder<String, String> namesAndValuesBuilder;

        public Builder() {
            this.namesAndValuesBuilder = new ImmutableListMultimap.Builder<>();
        }

        public Builder(String str, String str2, int i) {
            this();
            add("User-Agent", str);
            add(RtspHeaders.CSEQ, String.valueOf(i));
            if (str2 != null) {
                add(RtspHeaders.SESSION, str2);
            }
        }

        private Builder(ImmutableListMultimap.Builder<String, String> builder) {
            this.namesAndValuesBuilder = builder;
        }

        public Builder add(String str, String str2) {
            this.namesAndValuesBuilder.put(RtspHeaders.convertToStandardHeaderName(str.trim()), str2.trim());
            return this;
        }

        public Builder addAll(List<String> list) {
            for (int i = 0; i < list.size(); i++) {
                String[] splitAtFirst = Util.splitAtFirst(list.get(i), ":\\s?");
                if (splitAtFirst.length == 2) {
                    add(splitAtFirst[0], splitAtFirst[1]);
                }
            }
            return this;
        }

        public Builder addAll(Map<String, String> map) {
            for (Map.Entry next : map.entrySet()) {
                add((String) next.getKey(), (String) next.getValue());
            }
            return this;
        }

        public RtspHeaders build() {
            return new RtspHeaders(this);
        }
    }

    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (!(obj instanceof RtspHeaders)) {
            return false;
        }
        return this.namesAndValues.equals(((RtspHeaders) obj).namesAndValues);
    }

    public int hashCode() {
        return this.namesAndValues.hashCode();
    }

    public Builder buildUpon() {
        ImmutableListMultimap.Builder builder = new ImmutableListMultimap.Builder();
        builder.putAll(this.namesAndValues);
        return new Builder(builder);
    }

    public ImmutableListMultimap<String, String> asMultiMap() {
        return this.namesAndValues;
    }

    public String get(String str) {
        ImmutableList<String> values = values(str);
        if (values.isEmpty()) {
            return null;
        }
        return (String) Iterables.getLast(values);
    }

    public ImmutableList<String> values(String str) {
        return this.namesAndValues.get((Object) convertToStandardHeaderName(str));
    }

    private RtspHeaders(Builder builder) {
        this.namesAndValues = builder.namesAndValuesBuilder.build();
    }

    /* access modifiers changed from: private */
    public static String convertToStandardHeaderName(String str) {
        if (Ascii.equalsIgnoreCase(str, "Accept")) {
            return "Accept";
        }
        if (Ascii.equalsIgnoreCase(str, "Allow")) {
            return "Allow";
        }
        if (Ascii.equalsIgnoreCase(str, "Authorization")) {
            return "Authorization";
        }
        if (Ascii.equalsIgnoreCase(str, BANDWIDTH)) {
            return BANDWIDTH;
        }
        if (Ascii.equalsIgnoreCase(str, BLOCKSIZE)) {
            return BLOCKSIZE;
        }
        if (Ascii.equalsIgnoreCase(str, "Cache-Control")) {
            return "Cache-Control";
        }
        if (Ascii.equalsIgnoreCase(str, "Connection")) {
            return "Connection";
        }
        if (Ascii.equalsIgnoreCase(str, CONTENT_BASE)) {
            return CONTENT_BASE;
        }
        if (Ascii.equalsIgnoreCase(str, "Content-Encoding")) {
            return "Content-Encoding";
        }
        if (Ascii.equalsIgnoreCase(str, "Content-Language")) {
            return "Content-Language";
        }
        if (Ascii.equalsIgnoreCase(str, "Content-Length")) {
            return "Content-Length";
        }
        if (Ascii.equalsIgnoreCase(str, "Content-Location")) {
            return "Content-Location";
        }
        if (Ascii.equalsIgnoreCase(str, "Content-Type")) {
            return "Content-Type";
        }
        if (Ascii.equalsIgnoreCase(str, CSEQ)) {
            return CSEQ;
        }
        if (Ascii.equalsIgnoreCase(str, "Date")) {
            return "Date";
        }
        if (Ascii.equalsIgnoreCase(str, "Expires")) {
            return "Expires";
        }
        if (Ascii.equalsIgnoreCase(str, "Location")) {
            return "Location";
        }
        if (Ascii.equalsIgnoreCase(str, "Proxy-Authenticate")) {
            return "Proxy-Authenticate";
        }
        if (Ascii.equalsIgnoreCase(str, PROXY_REQUIRE)) {
            return PROXY_REQUIRE;
        }
        if (Ascii.equalsIgnoreCase(str, PUBLIC)) {
            return PUBLIC;
        }
        if (Ascii.equalsIgnoreCase(str, "Range")) {
            return "Range";
        }
        if (Ascii.equalsIgnoreCase(str, RTP_INFO)) {
            return RTP_INFO;
        }
        if (Ascii.equalsIgnoreCase(str, RTCP_INTERVAL)) {
            return RTCP_INTERVAL;
        }
        if (Ascii.equalsIgnoreCase(str, SCALE)) {
            return SCALE;
        }
        if (Ascii.equalsIgnoreCase(str, SESSION)) {
            return SESSION;
        }
        if (Ascii.equalsIgnoreCase(str, SPEED)) {
            return SPEED;
        }
        if (Ascii.equalsIgnoreCase(str, SUPPORTED)) {
            return SUPPORTED;
        }
        if (Ascii.equalsIgnoreCase(str, TIMESTAMP)) {
            return TIMESTAMP;
        }
        if (Ascii.equalsIgnoreCase(str, TRANSPORT)) {
            return TRANSPORT;
        }
        if (Ascii.equalsIgnoreCase(str, "User-Agent")) {
            return "User-Agent";
        }
        if (Ascii.equalsIgnoreCase(str, "Via")) {
            return "Via";
        }
        return Ascii.equalsIgnoreCase(str, "WWW-Authenticate") ? "WWW-Authenticate" : str;
    }
}
    
Download file