Chromium.apk(点击下载) / AbstractC6013yw0.java


package defpackage;

import android.content.Intent;
import android.net.Uri;
import android.nfc.FormatException;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Locale;
import java.util.Objects;
import org.chromium.webapk.lib.runtime_library.IWebApkApi;

/* renamed from: yw0  reason: default package and case insensitive filesystem */
/* compiled from: chromium-ChromePublic.apk-stable-447210115 */
public abstract class AbstractC6013yw0 {
    public static final String[] a = {"", "http://www.", "https://www.", "http://", "https://", "tel:", "mailto:", "ftp://anonymous:anonymous@", "ftp://ftp.", "ftps://", "sftp://", "smb://", "nfs://", "ftp://", "dav://", "news:", "telnet://", "imap:", "rtsp://", "urn:", "pop:", "sip:", "sips:", "tftp:", "btspp://", "btl2cap://", "btgoep://", "tcpobex://", "irdaobex://", "file://", "urn:epc:id:", "urn:epc:tag:", "urn:epc:pat:", "urn:epc:raw:", "urn:epc:", "urn:nfc:"};

    public static NdefRecord a(byte[] bArr, String str, boolean z) {
        byte[] bArr2;
        byte b;
        String uri = Uri.parse(new String(bArr, "UTF-8")).normalizeScheme().toString();
        if (uri.length() != 0) {
            if (str == null) {
                bArr2 = null;
            } else {
                bArr2 = AbstractC2742g7.d(str);
            }
            if (z) {
                return new NdefRecord(3, AbstractC2742g7.d(uri), bArr2, null);
            }
            int i = 1;
            while (true) {
                String[] strArr = a;
                if (i >= strArr.length) {
                    b = 0;
                    break;
                } else if (uri.startsWith(strArr[i])) {
                    b = (byte) i;
                    uri = uri.substring(strArr[i].length());
                    break;
                } else {
                    i++;
                }
            }
            byte[] d = AbstractC2742g7.d(uri);
            byte[] bArr3 = new byte[(d.length + 1)];
            bArr3[0] = b;
            System.arraycopy(d, 0, bArr3, 1, d.length);
            return new NdefRecord(1, NdefRecord.RTD_URI, bArr2, bArr3);
        }
        throw new IllegalArgumentException("uri is empty");
    }

    public static C6187zw0 b(Uri uri, boolean z) {
        if (uri == null) {
            return null;
        }
        C6187zw0 zw0 = new C6187zw0();
        zw0.b = 0;
        if (z) {
            zw0.c = "absolute-url";
        } else {
            zw0.c = "url";
        }
        zw0.h = AbstractC2742g7.d(uri.toString());
        return zw0;
    }

    public static C5839xw0 c(byte[] bArr) {
        try {
            return e(new NdefMessage(bArr));
        } catch (FormatException | UnsupportedEncodingException unused) {
            return null;
        }
    }

    public static boolean d(String str) {
        if (!Charset.forName("US-ASCII").newEncoder().canEncode(str) || str.length() < 2 || str.length() > 256 || str.charAt(0) != ':') {
            return false;
        }
        if (Character.isLowerCase(str.charAt(1)) || Character.isDigit(str.charAt(1))) {
            return true;
        }
        return false;
    }

    public static C5839xw0 e(NdefMessage ndefMessage) {
        C6187zw0 zw0;
        NdefRecord[] records = ndefMessage.getRecords();
        C5839xw0 xw0 = new C5839xw0();
        ArrayList arrayList = new ArrayList();
        for (NdefRecord ndefRecord : records) {
            short tnf = ndefRecord.getTnf();
            C6187zw0 zw02 = null;
            if (tnf != 0) {
                if (tnf != 1) {
                    if (tnf == 2) {
                        String str = new String(ndefRecord.getType(), "UTF-8");
                        byte[] payload = ndefRecord.getPayload();
                        zw0 = new C6187zw0();
                        zw0.b = 0;
                        zw0.c = "mime";
                        zw0.d = str;
                        zw0.h = payload;
                    } else if (tnf == 3) {
                        zw02 = b(ndefRecord.toUri(), true);
                    } else if (tnf == 4) {
                        String str2 = new String(ndefRecord.getType(), "UTF-8");
                        byte[] payload2 = ndefRecord.getPayload();
                        zw0 = new C6187zw0();
                        zw0.b = 1;
                        zw0.c = str2;
                        zw0.h = payload2;
                        zw0.i = c(payload2);
                    } else if (tnf == 5) {
                        byte[] payload3 = ndefRecord.getPayload();
                        zw02 = new C6187zw0();
                        zw02.b = 0;
                        zw02.c = "unknown";
                        zw02.h = payload3;
                    }
                } else if (Arrays.equals(ndefRecord.getType(), NdefRecord.RTD_URI)) {
                    zw02 = b(ndefRecord.toUri(), false);
                } else if (Arrays.equals(ndefRecord.getType(), NdefRecord.RTD_TEXT)) {
                    byte[] payload4 = ndefRecord.getPayload();
                    if (payload4.length != 0) {
                        zw0 = new C6187zw0();
                        zw0.b = 0;
                        zw0.c = "text";
                        zw0.f = (payload4[0] & 128) == 0 ? "utf-8" : "utf-16";
                        int i = payload4[0] & 63;
                        zw0.g = new String(payload4, 1, i, "US-ASCII");
                        int i2 = i + 1;
                        if (i2 <= payload4.length) {
                            zw0.h = Arrays.copyOfRange(payload4, i2, payload4.length);
                        }
                    }
                } else if (Arrays.equals(ndefRecord.getType(), NdefRecord.RTD_SMART_POSTER)) {
                    byte[] payload5 = ndefRecord.getPayload();
                    zw02 = new C6187zw0();
                    zw02.b = 0;
                    zw02.c = "smart-poster";
                    zw02.h = payload5;
                    zw02.i = c(payload5);
                } else {
                    String str3 = ':' + new String(ndefRecord.getType(), "UTF-8");
                    if (d(str3)) {
                        byte[] payload6 = ndefRecord.getPayload();
                        C6187zw0 zw03 = new C6187zw0();
                        zw03.b = 2;
                        zw03.c = str3;
                        zw03.h = payload6;
                        zw03.i = c(payload6);
                        zw02 = zw03;
                    }
                }
                zw02 = zw0;
            } else {
                zw02 = new C6187zw0();
                zw02.b = 0;
                zw02.c = "empty";
                zw02.h = new byte[0];
            }
            if (!(zw02 == null || ndefRecord.getTnf() == 0)) {
                zw02.e = new String(ndefRecord.getId(), "UTF-8");
            }
            if (zw02 != null) {
                arrayList.add(zw02);
            }
        }
        C6187zw0[] zw0Arr = new C6187zw0[arrayList.size()];
        xw0.b = zw0Arr;
        arrayList.toArray(zw0Arr);
        return xw0;
    }

    public static NdefMessage f(C5839xw0 xw0) {
        try {
            ArrayList arrayList = new ArrayList();
            int i = 0;
            while (true) {
                C6187zw0[] zw0Arr = xw0.b;
                if (i < zw0Arr.length) {
                    arrayList.add(g(zw0Arr[i]));
                    i++;
                } else {
                    NdefRecord[] ndefRecordArr = new NdefRecord[arrayList.size()];
                    arrayList.toArray(ndefRecordArr);
                    return new NdefMessage(ndefRecordArr);
                }
            }
        } catch (UnsupportedEncodingException | IllegalArgumentException | C5080tb0 unused) {
            throw new C5080tb0();
        }
    }

    /* JADX INFO: Can't fix incorrect switch cases order, some code will duplicate */
    /* JADX WARNING: Code restructure failed: missing block: B:113:0x01b9, code lost:
        throw new defpackage.C5080tb0();
     */
    public static NdefRecord g(C6187zw0 zw0) {
        int indexOf;
        char c;
        byte[] bArr;
        int i = zw0.b;
        int i2 = 0;
        byte[] bArr2 = null;
        if (i == 0) {
            String str = zw0.c;
            Objects.requireNonNull(str);
            switch (str.hashCode()) {
                case -1804833327:
                    if (str.equals("smart-poster")) {
                        c = 0;
                        break;
                    }
                    c = 65535;
                    break;
                case -1135234023:
                    if (str.equals("absolute-url")) {
                        c = 1;
                        break;
                    }
                    c = 65535;
                    break;
                case -284840886:
                    if (str.equals("unknown")) {
                        c = 2;
                        break;
                    }
                    c = 65535;
                    break;
                case 116079:
                    if (str.equals("url")) {
                        c = 3;
                        break;
                    }
                    c = 65535;
                    break;
                case 3351604:
                    if (str.equals("mime")) {
                        c = 4;
                        break;
                    }
                    c = 65535;
                    break;
                case 3556653:
                    if (str.equals("text")) {
                        c = 5;
                        break;
                    }
                    c = 65535;
                    break;
                case 96634189:
                    if (str.equals("empty")) {
                        c = 6;
                        break;
                    }
                    c = 65535;
                    break;
                default:
                    c = 65535;
                    break;
            }
            switch (c) {
                case 0:
                    String str2 = zw0.e;
                    C5839xw0 xw0 = zw0.i;
                    if (xw0 != null) {
                        ArrayList arrayList = new ArrayList();
                        boolean z = false;
                        boolean z2 = false;
                        boolean z3 = false;
                        boolean z4 = false;
                        while (true) {
                            C6187zw0[] zw0Arr = xw0.b;
                            if (i2 < zw0Arr.length) {
                                C6187zw0 zw02 = zw0Arr[i2];
                                if (zw02.c.equals("url")) {
                                    if (!z) {
                                        z = true;
                                    } else {
                                        throw new C5080tb0();
                                    }
                                } else if (zw02.c.equals(":s")) {
                                    if (!z2 && zw02.h.length == 4) {
                                        z2 = true;
                                    }
                                } else if (zw02.c.equals(":t")) {
                                    if (!z3) {
                                        z3 = true;
                                    } else {
                                        throw new C5080tb0();
                                    }
                                } else if (zw02.c.equals(":act")) {
                                    if (z4 || zw02.h.length != 1) {
                                        break;
                                    } else {
                                        z4 = true;
                                    }
                                }
                                try {
                                    arrayList.add(g(xw0.b[i2]));
                                    i2++;
                                } catch (UnsupportedEncodingException | IllegalArgumentException | C5080tb0 unused) {
                                    throw new C5080tb0();
                                }
                            } else if (z) {
                                NdefRecord[] ndefRecordArr = new NdefRecord[arrayList.size()];
                                arrayList.toArray(ndefRecordArr);
                                NdefMessage ndefMessage = new NdefMessage(ndefRecordArr);
                                byte[] bArr3 = NdefRecord.RTD_SMART_POSTER;
                                if (str2 != null) {
                                    bArr2 = AbstractC2742g7.d(str2);
                                }
                                return new NdefRecord(1, bArr3, bArr2, ndefMessage.toByteArray());
                            } else {
                                throw new C5080tb0();
                            }
                        }
                        throw new C5080tb0();
                    }
                    throw new C5080tb0();
                case IWebApkApi.Stub.TRANSACTION_getSmallIconId:
                    return a(zw0.h, zw0.e, true);
                case IWebApkApi.Stub.TRANSACTION_notifyNotification:
                    String str3 = zw0.e;
                    if (str3 == null) {
                        bArr = null;
                    } else {
                        bArr = AbstractC2742g7.d(str3);
                    }
                    return new NdefRecord(5, null, bArr, zw0.h);
                case IWebApkApi.Stub.TRANSACTION_cancelNotification:
                    return a(zw0.h, zw0.e, false);
                case IWebApkApi.Stub.TRANSACTION_notificationPermissionEnabled:
                    String str4 = zw0.d;
                    String str5 = zw0.e;
                    byte[] bArr4 = zw0.h;
                    String normalizeMimeType = Intent.normalizeMimeType(str4);
                    if (normalizeMimeType.length() != 0) {
                        int indexOf2 = normalizeMimeType.indexOf(47);
                        if (indexOf2 == 0) {
                            throw new IllegalArgumentException("mimeType must have major type");
                        } else if (indexOf2 != normalizeMimeType.length() - 1) {
                            byte[] d = AbstractC2742g7.d(normalizeMimeType);
                            if (str5 != null) {
                                bArr2 = AbstractC2742g7.d(str5);
                            }
                            return new NdefRecord(2, d, bArr2, bArr4);
                        } else {
                            throw new IllegalArgumentException("mimeType must have minor type");
                        }
                    } else {
                        throw new IllegalArgumentException("mimeType is empty");
                    }
                case IWebApkApi.Stub.TRANSACTION_notifyNotificationWithChannel:
                    String str6 = zw0.e;
                    String str7 = zw0.g;
                    String str8 = zw0.f;
                    byte[] bArr5 = zw0.h;
                    if (str7 == null || str7.isEmpty()) {
                        throw new IllegalArgumentException("lang is invalid");
                    } else if (str8 == null || str8.isEmpty()) {
                        throw new IllegalArgumentException("encoding is invalid");
                    } else {
                        byte[] bytes = str7.getBytes(StandardCharsets.US_ASCII);
                        if (bytes.length < 64) {
                            byte length = (byte) bytes.length;
                            if (!str8.equals("utf-8")) {
                                length = (byte) (length | Byte.MIN_VALUE);
                            }
                            ByteBuffer allocate = ByteBuffer.allocate(bytes.length + 1 + bArr5.length);
                            allocate.put(length);
                            allocate.put(bytes);
                            allocate.put(bArr5);
                            byte[] bArr6 = NdefRecord.RTD_TEXT;
                            if (str6 != null) {
                                bArr2 = AbstractC2742g7.d(str6);
                            }
                            return new NdefRecord(1, bArr6, bArr2, allocate.array());
                        }
                        throw new IllegalArgumentException("language code is too long, must be <64 bytes.");
                    }
                case IWebApkApi.Stub.TRANSACTION_finishAndRemoveTaskSdk23:
                    return new NdefRecord(0, null, null, null);
                default:
                    throw new C5080tb0();
            }
        } else if (i == 1) {
            String str9 = zw0.c;
            if (Charset.forName("US-ASCII").newEncoder().canEncode(str9) && !str9.isEmpty() && str9.length() <= 255 && (indexOf = str9.indexOf(58)) != -1 && !str9.substring(0, indexOf).trim().isEmpty()) {
                String trim = str9.substring(indexOf + 1).trim();
                if (!trim.isEmpty() && trim.matches("[a-zA-Z0-9:!()+,\\-=@;$_*'.]+")) {
                    i2 = 1;
                }
            }
            if (i2 != 0) {
                byte[] bArr7 = zw0.h;
                if (bArr7.length == 0 || zw0.i == null) {
                    String str10 = zw0.c;
                    String str11 = zw0.e;
                    C5839xw0 xw02 = zw0.i;
                    if (xw02 != null) {
                        try {
                            bArr7 = f(xw02).toByteArray();
                        } catch (C5080tb0 unused2) {
                            bArr7 = null;
                        }
                    }
                    byte[] d2 = AbstractC2742g7.d(str10.toLowerCase(Locale.ROOT));
                    if (str11 != null) {
                        bArr2 = AbstractC2742g7.d(str11);
                    }
                    return new NdefRecord(4, d2, bArr2, bArr7);
                }
            }
            throw new C5080tb0();
        } else if (i != 2) {
            throw new C5080tb0();
        } else if (!d(zw0.c) || !(zw0.h.length == 0 || zw0.i == null)) {
            throw new C5080tb0();
        } else {
            String substring = zw0.c.substring(1);
            String str12 = zw0.e;
            byte[] bArr8 = zw0.h;
            C5839xw0 xw03 = zw0.i;
            if (xw03 != null) {
                try {
                    bArr8 = f(xw03).toByteArray();
                } catch (C5080tb0 unused3) {
                    bArr8 = null;
                }
            }
            byte[] d3 = AbstractC2742g7.d(substring);
            if (str12 != null) {
                bArr2 = AbstractC2742g7.d(str12);
            }
            return new NdefRecord(1, d3, bArr2, bArr8);
        }
    }
}