FacePro.apk(点击下载) / f0.java


package w5;

import android.annotation.SuppressLint;
import android.media.DeniedByServerException;
import android.media.MediaCrypto;
import android.media.MediaCryptoException;
import android.media.MediaDrm;
import android.media.MediaDrmException;
import android.media.NotProvisionedException;
import android.media.UnsupportedSchemeException;
import android.media.metrics.LogSessionId;
import android.text.TextUtils;
import e9.d;
import f6.l;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import q7.n0;
import q7.r;
import s5.i;
import t5.s1;
import w5.b0;
import w5.m;

public final class f0 implements b0 {

    /* renamed from: d  reason: collision with root package name */
    public static final b0.c f28079d = e0.f28077a;

    /* renamed from: a  reason: collision with root package name */
    private final UUID f28080a;

    /* renamed from: b  reason: collision with root package name */
    private final MediaDrm f28081b;

    /* renamed from: c  reason: collision with root package name */
    private int f28082c = 1;

    private static class a {
        public static boolean a(MediaDrm mediaDrm, String str) {
            return mediaDrm.requiresSecureDecoder(str);
        }

        public static void b(MediaDrm mediaDrm, byte[] bArr, s1 s1Var) {
            LogSessionId a10 = s1Var.a();
            if (!a10.equals(LogSessionId.LOG_SESSION_ID_NONE)) {
                ((MediaDrm.PlaybackComponent) q7.a.e(mediaDrm.getPlaybackComponent(bArr))).setLogSessionId(a10);
            }
        }
    }

    private f0(UUID uuid) throws UnsupportedSchemeException {
        q7.a.e(uuid);
        q7.a.b(!i.f24358b.equals(uuid), "Use C.CLEARKEY_UUID instead");
        this.f28080a = uuid;
        MediaDrm mediaDrm = new MediaDrm(t(uuid));
        this.f28081b = mediaDrm;
        if (i.f24360d.equals(uuid) && A()) {
            v(mediaDrm);
        }
    }

    private static boolean A() {
        return "ASUS_Z00AD".equals(n0.f23194d);
    }

    public static f0 B(UUID uuid) throws k0 {
        try {
            return new f0(uuid);
        } catch (UnsupportedSchemeException e10) {
            throw new k0(1, e10);
        } catch (Exception e11) {
            throw new k0(2, e11);
        }
    }

    private static byte[] p(byte[] bArr) {
        q7.b0 b0Var = new q7.b0(bArr);
        int p10 = b0Var.p();
        short r10 = b0Var.r();
        short r11 = b0Var.r();
        if (r10 == 1 && r11 == 1) {
            short r12 = b0Var.r();
            Charset charset = d.f14113e;
            String A = b0Var.A(r12, charset);
            if (A.contains("<LA_URL>")) {
                return bArr;
            }
            int indexOf = A.indexOf("</DATA>");
            if (indexOf == -1) {
                r.i("FrameworkMediaDrm", "Could not find the </DATA> tag. Skipping LA_URL workaround.");
            }
            String str = A.substring(0, indexOf) + "<LA_URL>https://x</LA_URL>" + A.substring(indexOf);
            int i10 = p10 + 52;
            ByteBuffer allocate = ByteBuffer.allocate(i10);
            allocate.order(ByteOrder.LITTLE_ENDIAN);
            allocate.putInt(i10);
            allocate.putShort((short) r10);
            allocate.putShort((short) r11);
            allocate.putShort((short) (str.length() * 2));
            allocate.put(str.getBytes(charset));
            return allocate.array();
        }
        r.f("FrameworkMediaDrm", "Unexpected record count or type. Skipping LA_URL workaround.");
        return bArr;
    }

    private static byte[] q(UUID uuid, byte[] bArr) {
        return i.f24359c.equals(uuid) ? a.a(bArr) : bArr;
    }

    /* JADX WARNING: Code restructure failed: missing block: B:21:0x0056, code lost:
        if ("AFTT".equals(r0) == false) goto L_0x005f;
     */
    private static byte[] r(UUID uuid, byte[] bArr) {
        UUID uuid2 = i.f24361e;
        if (uuid2.equals(uuid)) {
            byte[] e10 = l.e(bArr, uuid);
            if (e10 != null) {
                bArr = e10;
            }
            bArr = l.a(uuid2, p(bArr));
        }
        if (n0.f23191a >= 23 || !i.f24360d.equals(uuid)) {
            if (uuid2.equals(uuid) && "Amazon".equals(n0.f23193c)) {
                String str = n0.f23194d;
                if (!"AFTB".equals(str)) {
                    if (!"AFTS".equals(str)) {
                        if (!"AFTM".equals(str)) {
                        }
                    }
                }
            }
        }
        byte[] e11 = l.e(bArr, uuid);
        return e11 != null ? e11 : bArr;
    }

    private static String s(UUID uuid, String str) {
        return (n0.f23191a >= 26 || !i.f24359c.equals(uuid) || (!"video/mp4".equals(str) && !"audio/mp4".equals(str))) ? str : "cenc";
    }

    private static UUID t(UUID uuid) {
        return (n0.f23191a >= 27 || !i.f24359c.equals(uuid)) ? uuid : i.f24358b;
    }

    private static void v(MediaDrm mediaDrm) {
        mediaDrm.setPropertyString("securityLevel", "L3");
    }

    private static m.b x(UUID uuid, List<m.b> list) {
        boolean z10;
        if (i.f24360d.equals(uuid)) {
            if (n0.f23191a >= 28 && list.size() > 1) {
                m.b bVar = list.get(0);
                int i10 = 0;
                int i11 = 0;
                while (true) {
                    if (i10 >= list.size()) {
                        z10 = true;
                        break;
                    }
                    m.b bVar2 = list.get(i10);
                    byte[] bArr = (byte[]) q7.a.e(bVar2.f28182e);
                    if (!n0.c(bVar2.f28181d, bVar.f28181d) || !n0.c(bVar2.f28180c, bVar.f28180c) || !l.c(bArr)) {
                        z10 = false;
                    } else {
                        i11 += bArr.length;
                        i10++;
                    }
                }
                z10 = false;
                if (z10) {
                    byte[] bArr2 = new byte[i11];
                    int i12 = 0;
                    for (int i13 = 0; i13 < list.size(); i13++) {
                        byte[] bArr3 = (byte[]) q7.a.e(list.get(i13).f28182e);
                        int length = bArr3.length;
                        System.arraycopy(bArr3, 0, bArr2, i12, length);
                        i12 += length;
                    }
                    return bVar.b(bArr2);
                }
            }
            for (int i14 = 0; i14 < list.size(); i14++) {
                m.b bVar3 = list.get(i14);
                int g10 = l.g((byte[]) q7.a.e(bVar3.f28182e));
                int i15 = n0.f23191a;
                if (i15 < 23 && g10 == 0) {
                    return bVar3;
                }
                if (i15 >= 23 && g10 == 1) {
                    return bVar3;
                }
            }
        }
        return list.get(0);
    }

    /* access modifiers changed from: private */
    public /* synthetic */ void y(b0.b bVar, MediaDrm mediaDrm, byte[] bArr, int i10, int i11, byte[] bArr2) {
        bVar.a(this, bArr, i10, i11, bArr2);
    }

    /* access modifiers changed from: private */
    public static /* synthetic */ b0 z(UUID uuid) {
        try {
            return B(uuid);
        } catch (k0 unused) {
            r.c("FrameworkMediaDrm", "Failed to instantiate a FrameworkMediaDrm for uuid: " + uuid + ".");
            return new z();
        }
    }

    @Override // w5.b0
    public Map<String, String> a(byte[] bArr) {
        return this.f28081b.queryKeyStatus(bArr);
    }

    @Override // w5.b0
    public b0.d b() {
        MediaDrm.ProvisionRequest provisionRequest = this.f28081b.getProvisionRequest();
        return new b0.d(provisionRequest.getData(), provisionRequest.getDefaultUrl());
    }

    @Override // w5.b0
    public byte[] d() throws MediaDrmException {
        return this.f28081b.openSession();
    }

    @Override // w5.b0
    public void e(b0.b bVar) {
        this.f28081b.setOnEventListener(bVar == null ? null : new d0(this, bVar));
    }

    @Override // w5.b0
    public boolean f(byte[] bArr, String str) {
        if (n0.f23191a >= 31) {
            return a.a(this.f28081b, str);
        }
        try {
            MediaCrypto mediaCrypto = new MediaCrypto(this.f28080a, bArr);
            try {
                return mediaCrypto.requiresSecureDecoderComponent(str);
            } finally {
                mediaCrypto.release();
            }
        } catch (MediaCryptoException unused) {
            return true;
        }
    }

    @Override // w5.b0
    public void g(byte[] bArr, byte[] bArr2) {
        this.f28081b.restoreKeys(bArr, bArr2);
    }

    @Override // w5.b0
    public void h(byte[] bArr) {
        this.f28081b.closeSession(bArr);
    }

    @Override // w5.b0
    public byte[] i(byte[] bArr, byte[] bArr2) throws NotProvisionedException, DeniedByServerException {
        if (i.f24359c.equals(this.f28080a)) {
            bArr2 = a.b(bArr2);
        }
        return this.f28081b.provideKeyResponse(bArr, bArr2);
    }

    @Override // w5.b0
    public void j(byte[] bArr) throws DeniedByServerException {
        this.f28081b.provideProvisionResponse(bArr);
    }

    @Override // w5.b0
    @SuppressLint({"WrongConstant"})
    public b0.a k(byte[] bArr, List<m.b> list, int i10, HashMap<String, String> hashMap) throws NotProvisionedException {
        String str;
        byte[] bArr2;
        m.b bVar = null;
        if (list != null) {
            bVar = x(this.f28080a, list);
            bArr2 = r(this.f28080a, (byte[]) q7.a.e(bVar.f28182e));
            str = s(this.f28080a, bVar.f28181d);
        } else {
            bArr2 = null;
            str = null;
        }
        MediaDrm.KeyRequest keyRequest = this.f28081b.getKeyRequest(bArr, bArr2, str, i10, hashMap);
        byte[] q10 = q(this.f28080a, keyRequest.getData());
        String defaultUrl = keyRequest.getDefaultUrl();
        if ("https://x".equals(defaultUrl)) {
            defaultUrl = "";
        }
        if (TextUtils.isEmpty(defaultUrl) && bVar != null && !TextUtils.isEmpty(bVar.f28180c)) {
            defaultUrl = bVar.f28180c;
        }
        return new b0.a(q10, defaultUrl, n0.f23191a >= 23 ? keyRequest.getRequestType() : Integer.MIN_VALUE);
    }

    @Override // w5.b0
    public int l() {
        return 2;
    }

    @Override // w5.b0
    public void m(byte[] bArr, s1 s1Var) {
        if (n0.f23191a >= 31) {
            try {
                a.b(this.f28081b, bArr, s1Var);
            } catch (UnsupportedOperationException unused) {
                r.i("FrameworkMediaDrm", "setLogSessionId failed.");
            }
        }
    }

    @Override // w5.b0
    public synchronized void release() {
        int i10 = this.f28082c - 1;
        this.f28082c = i10;
        if (i10 == 0) {
            this.f28081b.release();
        }
    }

    /* renamed from: u */
    public c0 c(byte[] bArr) throws MediaCryptoException {
        return new c0(t(this.f28080a), bArr, n0.f23191a < 21 && i.f24360d.equals(this.f28080a) && "L3".equals(w("securityLevel")));
    }

    public String w(String str) {
        return this.f28081b.getPropertyString(str);
    }
}