导航菜单

页面标题

页面副标题

Namma Yatri v3.3.7 - I.java 源代码

正在查看: Namma Yatri v3.3.7 应用的 I.java JAVA 源代码文件

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


package M0;

import A0.AbstractC0366a;
import I0.z1;
import M0.A;
import android.media.MediaCrypto;
import android.media.MediaCryptoException;
import android.media.MediaDrm;
import android.media.UnsupportedSchemeException;
import android.media.metrics.LogSessionId;
import android.text.TextUtils;
import androidx.media3.common.DrmInitData;
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.Objects;
import java.util.UUID;
import x0.AbstractC1741i;

public final class I implements A {

    public static final A.c f3811d = new A.c() {
        @Override
        public final A a(UUID uuid) {
            A B6;
            B6 = I.B(uuid);
            return B6;
        }
    };

    private final UUID f3812a;

    private final MediaDrm f3813b;

    private int f3814c;

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

        public static void b(MediaDrm mediaDrm, byte[] bArr, z1 z1Var) {
            LogSessionId logSessionId;
            boolean equals;
            MediaDrm.PlaybackComponent playbackComponent;
            LogSessionId a7 = z1Var.a();
            logSessionId = LogSessionId.LOG_SESSION_ID_NONE;
            equals = a7.equals(logSessionId);
            if (equals) {
                return;
            }
            playbackComponent = mediaDrm.getPlaybackComponent(bArr);
            F.a(AbstractC0366a.e(playbackComponent)).setLogSessionId(a7);
        }
    }

    private I(UUID uuid) {
        AbstractC0366a.e(uuid);
        AbstractC0366a.b(!AbstractC1741i.f25957b.equals(uuid), "Use C.CLEARKEY_UUID instead");
        this.f3812a = uuid;
        MediaDrm mediaDrm = new MediaDrm(u(uuid));
        this.f3813b = mediaDrm;
        this.f3814c = 1;
        if (AbstractC1741i.f25959d.equals(uuid) && C()) {
            w(mediaDrm);
        }
    }

    public void A(A.b bVar, MediaDrm mediaDrm, byte[] bArr, int i7, int i8, byte[] bArr2) {
        bVar.a(this, bArr, i7, i8, bArr2);
    }

    public static A B(UUID uuid) {
        try {
            return D(uuid);
        } catch (N unused) {
            A0.q.c("FrameworkMediaDrm", "Failed to instantiate a FrameworkMediaDrm for uuid: " + uuid + ".");
            return new y();
        }
    }

    private static boolean C() {
        return "ASUS_Z00AD".equals(A0.N.f52d);
    }

    public static I D(UUID uuid) {
        try {
            return new I(uuid);
        } catch (UnsupportedSchemeException e7) {
            throw new N(1, e7);
        } catch (Exception e8) {
            throw new N(2, e8);
        }
    }

    private boolean F() {
        return A0.N.f49a < 21 && AbstractC1741i.f25959d.equals(this.f3812a) && "L3".equals(x("securityLevel"));
    }

    private static byte[] p(byte[] bArr) {
        A0.B b7 = new A0.B(bArr);
        int u7 = b7.u();
        short w6 = b7.w();
        short w7 = b7.w();
        if (w6 != 1 || w7 != 1) {
            A0.q.f("FrameworkMediaDrm", "Unexpected record count or type. Skipping LA_URL workaround.");
            return bArr;
        }
        short w8 = b7.w();
        Charset charset = t8.e.e;
        String F6 = b7.F(w8, charset);
        if (F6.contains("<LA_URL>")) {
            return bArr;
        }
        int indexOf = F6.indexOf("</DATA>");
        if (indexOf == -1) {
            A0.q.h("FrameworkMediaDrm", "Could not find the </DATA> tag. Skipping LA_URL workaround.");
        }
        String str = F6.substring(0, indexOf) + "<LA_URL>https://x</LA_URL>" + F6.substring(indexOf);
        int i7 = u7 + 52;
        ByteBuffer allocate = ByteBuffer.allocate(i7);
        allocate.order(ByteOrder.LITTLE_ENDIAN);
        allocate.putInt(i7);
        allocate.putShort(w6);
        allocate.putShort(w7);
        allocate.putShort((short) (str.length() * 2));
        allocate.put(str.getBytes(charset));
        return allocate.array();
    }

    private String q(String str) {
        if ("<LA_URL>https://x</LA_URL>".equals(str)) {
            return "";
        }
        if (A0.N.f49a >= 33 && "https://default.url".equals(str)) {
            String x6 = x("version");
            if (Objects.equals(x6, "1.2") || Objects.equals(x6, "aidl-1")) {
                return "";
            }
        }
        return str;
    }

    private static byte[] r(UUID uuid, byte[] bArr) {
        return AbstractC1741i.f25958c.equals(uuid) ? AbstractC0536a.a(bArr) : bArr;
    }

    private static byte[] s(java.util.UUID r3, byte[] r4) {
        throw new UnsupportedOperationException("Method not decompiled: M0.I.s(java.util.UUID, byte[]):byte[]");
    }

    private static String t(UUID uuid, String str) {
        return (A0.N.f49a < 26 && AbstractC1741i.f25958c.equals(uuid) && ("video/mp4".equals(str) || "audio/mp4".equals(str))) ? "cenc" : str;
    }

    private static UUID u(UUID uuid) {
        return (A0.N.f49a >= 27 || !AbstractC1741i.f25958c.equals(uuid)) ? uuid : AbstractC1741i.f25957b;
    }

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

    private static DrmInitData.SchemeData y(UUID uuid, List list) {
        if (!AbstractC1741i.f25959d.equals(uuid)) {
            return (DrmInitData.SchemeData) list.get(0);
        }
        if (A0.N.f49a >= 28 && list.size() > 1) {
            DrmInitData.SchemeData schemeData = (DrmInitData.SchemeData) list.get(0);
            int i7 = 0;
            for (int i8 = 0; i8 < list.size(); i8++) {
                DrmInitData.SchemeData schemeData2 = (DrmInitData.SchemeData) list.get(i8);
                byte[] bArr = (byte[]) AbstractC0366a.e(schemeData2.f11706e);
                if (A0.N.c(schemeData2.f11705d, schemeData.f11705d) && A0.N.c(schemeData2.f11704c, schemeData.f11704c) && t1.o.c(bArr)) {
                    i7 += bArr.length;
                }
            }
            byte[] bArr2 = new byte[i7];
            int i9 = 0;
            for (int i10 = 0; i10 < list.size(); i10++) {
                byte[] bArr3 = (byte[]) AbstractC0366a.e(((DrmInitData.SchemeData) list.get(i10)).f11706e);
                int length = bArr3.length;
                System.arraycopy(bArr3, 0, bArr2, i9, length);
                i9 += length;
            }
            return schemeData.b(bArr2);
        }
        for (int i11 = 0; i11 < list.size(); i11++) {
            DrmInitData.SchemeData schemeData3 = (DrmInitData.SchemeData) list.get(i11);
            int g7 = t1.o.g((byte[]) AbstractC0366a.e(schemeData3.f11706e));
            int i12 = A0.N.f49a;
            if (i12 < 23 && g7 == 0) {
                return schemeData3;
            }
            if (i12 >= 23 && g7 == 1) {
                return schemeData3;
            }
        }
        return (DrmInitData.SchemeData) list.get(0);
    }

    private boolean z() {
        if (!this.f3812a.equals(AbstractC1741i.f25959d)) {
            return this.f3812a.equals(AbstractC1741i.f25958c);
        }
        String x6 = x("version");
        return (x6.startsWith("v5.") || x6.startsWith("14.") || x6.startsWith("15.") || x6.startsWith("16.0")) ? false : true;
    }

    public void E(String str, String str2) {
        this.f3813b.setPropertyString(str, str2);
    }

    @Override
    public Map a(byte[] bArr) {
        return this.f3813b.queryKeyStatus(bArr);
    }

    @Override
    public A.d b() {
        MediaDrm.ProvisionRequest provisionRequest = this.f3813b.getProvisionRequest();
        return new A.d(provisionRequest.getData(), provisionRequest.getDefaultUrl());
    }

    @Override
    public byte[] c() {
        return this.f3813b.openSession();
    }

    @Override
    public void d(byte[] bArr, byte[] bArr2) {
        this.f3813b.restoreKeys(bArr, bArr2);
    }

    @Override
    public void e(final A.b bVar) {
        this.f3813b.setOnEventListener(bVar == null ? null : new MediaDrm.OnEventListener() {
            @Override
            public final void onEvent(MediaDrm mediaDrm, byte[] bArr, int i7, int i8, byte[] bArr2) {
                I.this.A(bVar, mediaDrm, bArr, i7, i8, bArr2);
            }
        });
    }

    @Override
    public void f(byte[] bArr, z1 z1Var) {
        if (A0.N.f49a >= 31) {
            try {
                a.b(this.f3813b, bArr, z1Var);
            } catch (UnsupportedOperationException unused) {
                A0.q.h("FrameworkMediaDrm", "setLogSessionId failed.");
            }
        }
    }

    @Override
    public void g(byte[] bArr) {
        this.f3813b.provideProvisionResponse(bArr);
    }

    @Override
    public int h() {
        return 2;
    }

    @Override
    public boolean j(byte[] bArr, String str) {
        boolean z6;
        MediaCrypto mediaCrypto;
        if (A0.N.f49a < 31 || !z()) {
            MediaCrypto mediaCrypto2 = null;
            try {
                mediaCrypto = new MediaCrypto(this.f3812a, bArr);
            } catch (MediaCryptoException unused) {
            } catch (Throwable th) {
                th = th;
            }
            try {
                z6 = mediaCrypto.requiresSecureDecoderComponent(str);
                mediaCrypto.release();
            } catch (MediaCryptoException unused2) {
                mediaCrypto2 = mediaCrypto;
                if (mediaCrypto2 != null) {
                    mediaCrypto2.release();
                }
                z6 = true;
                if (z6) {
                }
            } catch (Throwable th2) {
                th = th2;
                mediaCrypto2 = mediaCrypto;
                if (mediaCrypto2 != null) {
                    mediaCrypto2.release();
                }
                throw th;
            }
        } else {
            z6 = a.a(this.f3813b, str);
        }
        return (z6 || F()) ? false : true;
    }

    @Override
    public void k(byte[] bArr) {
        this.f3813b.closeSession(bArr);
    }

    @Override
    public byte[] l(byte[] bArr, byte[] bArr2) {
        if (AbstractC1741i.f25958c.equals(this.f3812a)) {
            bArr2 = AbstractC0536a.b(bArr2);
        }
        return this.f3813b.provideKeyResponse(bArr, bArr2);
    }

    @Override
    public A.a m(byte[] bArr, List list, int i7, HashMap hashMap) {
        DrmInitData.SchemeData schemeData;
        byte[] bArr2;
        String str;
        if (list != null) {
            schemeData = y(this.f3812a, list);
            bArr2 = s(this.f3812a, (byte[]) AbstractC0366a.e(schemeData.f11706e));
            str = t(this.f3812a, schemeData.f11705d);
        } else {
            schemeData = null;
            bArr2 = null;
            str = null;
        }
        MediaDrm.KeyRequest keyRequest = this.f3813b.getKeyRequest(bArr, bArr2, str, i7, hashMap);
        byte[] r7 = r(this.f3812a, keyRequest.getData());
        String q7 = q(keyRequest.getDefaultUrl());
        if (TextUtils.isEmpty(q7) && schemeData != null && !TextUtils.isEmpty(schemeData.f11704c)) {
            q7 = schemeData.f11704c;
        }
        return new A.a(r7, q7, A0.N.f49a >= 23 ? keyRequest.getRequestType() : Integer.MIN_VALUE);
    }

    @Override
    public synchronized void release() {
        int i7 = this.f3814c - 1;
        this.f3814c = i7;
        if (i7 == 0) {
            this.f3813b.release();
        }
    }

    @Override
    public B i(byte[] bArr) {
        return new B(u(this.f3812a), bArr, F());
    }

    public String x(String str) {
        return this.f3813b.getPropertyString(str);
    }
}