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


package defpackage;

import android.util.Patterns;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Pattern;
import org.chromium.base.PiiElider;
import org.chromium.chrome.browser.crash.MinidumpUploadServiceImpl;

/* renamed from: xj0  reason: default package and case insensitive filesystem */
/* compiled from: chromium-ChromePublic.apk-stable-447210115 */
public class RunnableC5800xj0 implements Runnable {
    public final File y;

    public RunnableC5800xj0(File file) {
        this.y = file;
    }

    /* JADX DEBUG: Failed to insert an additional move for type inference into block B:42:0x0074 */
    /* JADX WARN: Multi-variable type inference failed */
    /* JADX WARN: Type inference failed for: r2v1, types: [java.util.List, java.util.LinkedList] */
    /* JADX WARN: Type inference failed for: r2v4, types: [java.util.List] */
    /* JADX WARN: Type inference failed for: r2v19, types: [java.util.List] */
    /* JADX WARNING: Unknown variable types count: 1 */
    public final List a() {
        Process exec = Runtime.getRuntime().exec("logcat -d");
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(exec.getInputStream()));
        ?? linkedList = new LinkedList();
        Integer num = null;
        while (num == null) {
            while (true) {
                try {
                    String readLine = bufferedReader.readLine();
                    if (readLine != null) {
                        linkedList.add(readLine);
                        if (linkedList.size() > 1024) {
                            linkedList.removeFirst();
                        }
                    } else {
                        try {
                            break;
                        } catch (IllegalThreadStateException unused) {
                            Thread.sleep(500);
                        }
                    }
                } catch (Throwable th) {
                    bufferedReader.close();
                    throw th;
                }
            }
            num = Integer.valueOf(exec.exitValue());
        }
        bufferedReader.close();
        if (num.intValue() == 0) {
            int size = linkedList.size();
            while (true) {
                size--;
                if (size >= 0) {
                    if (((String) linkedList.get(size)).contains("-----BEGIN BREAKPAD MICRODUMP-----")) {
                        linkedList = linkedList.subList(0, size);
                        linkedList.add("-----SNIPPED OUT BREAKPAD MICRODUMP FOR THIS CRASH-----");
                        break;
                    }
                } else {
                    break;
                }
            }
            int size2 = linkedList.size();
            List<String> list = linkedList;
            if (size2 > 256) {
                list = linkedList.subList(linkedList.size() - 256, linkedList.size());
            }
            ArrayList arrayList = new ArrayList(list.size());
            for (String str : list) {
                Pattern pattern = PiiElider.a;
                arrayList.add(PiiElider.d.matcher(PiiElider.c.matcher(Patterns.IP_ADDRESS.matcher(PiiElider.a(Patterns.EMAIL_ADDRESS.matcher(str).replaceAll("XXX@EMAIL.ELIDED"))).replaceAll("1.2.3.4")).replaceAll("01:23:45:67:89:AB")).replaceAll("[ELIDED:CONSOLE(0)] ELIDED CONSOLE MESSAGE"));
            }
            return Collections.unmodifiableList(arrayList);
        }
        String str2 = "Logcat failed: " + num;
        AbstractC5452vj0.f("LogcatExtraction", str2, new Object[0]);
        throw new IOException(str2);
    }

    public void b(boolean z) {
        AbstractC5452vj0.d("LogcatExtraction", "Trying to extract logcat for minidump %s.", this.y.getName());
        C4849sE sEVar = new C4849sE(AbstractC1705aC.a.getCacheDir());
        File file = this.y;
        try {
            file = new C5482vt0(sEVar, this.y, a()).b();
            AbstractC5452vj0.d("LogcatExtraction", "Succeeded extracting logcat to %s.", file.getName());
        } catch (IOException | InterruptedException e) {
            AbstractC5452vj0.f("LogcatExtraction", e.toString(), new Object[0]);
        }
        if (z) {
            try {
                MinidumpUploadServiceImpl.i(file);
            } catch (SecurityException e2) {
                AbstractC5452vj0.f("LogcatExtraction", e2.toString(), new Object[0]);
                if (!z) {
                    throw e2;
                }
            }
        } else if (MinidumpUploadServiceImpl.g()) {
            MinidumpUploadServiceImpl.f();
        } else {
            MinidumpUploadServiceImpl.i(file);
        }
    }

    public void run() {
        b(false);
    }
}