package com.ifpdos.factorytest;

import android.app.Activity;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.media.AudioRecord;
import android.media.AudioTrack;
import android.media.MicrophoneInfo;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.cvte.vman.VmanMiddleWare;
import com.seewo.vcommons.utils.reflect.Reflect;
import java.util.Iterator;

/* JADX INFO: loaded from: classes.dex */
public class AudioInTestctivity extends Activity {
    private static final String TAG = "AudioInTestActivity";
    private AudioRecord audioRecord;
    private AudioTrack audioTrack;
    RecordThread recordThread = null;
    private boolean isStart = false;
    private MicrophoneInfo lastMic = null;
    boolean isFindLineIn = false;

    private void recordLastMic() {
        MicrophoneInfo microphoneInfo = (MicrophoneInfo) Reflect.on((AudioManager) getSystemService("audio")).call("getForceMicroPhone").get();
        this.lastMic = microphoneInfo;
        if (microphoneInfo != null) {
            Log.d(TAG, "lastMic.addr: " + this.lastMic.getAddress() + "mic.type" + this.lastMic.getType() + "mic.id" + this.lastMic.getId());
        }
    }

    private void setForceMicToLineIn() {
        AudioManager audioManager = (AudioManager) getSystemService("audio");
        for (AudioDeviceInfo audioDeviceInfo : audioManager.getDevices(1)) {
            int type = audioDeviceInfo.getType();
            if (type == 11 || type == 22 || type == 8 || type == 15 || type == 5 || type == 7) {
                String string = audioDeviceInfo.getProductName().toString();
                Log.i(TAG, "name:" + ((Object) audioDeviceInfo.getProductName()) + " id:" + audioDeviceInfo.getId() + " type:" + audioDeviceInfo.getType() + "address:" + audioDeviceInfo.getAddress());
                if (string.contains("Line-in")) {
                    try {
                        Iterator<MicrophoneInfo> it = audioManager.getMicrophones().iterator();
                        while (true) {
                            if (!it.hasNext()) {
                                break;
                            }
                            MicrophoneInfo next = it.next();
                            Log.d(TAG, "getId:" + next.getId() + "getAddress:" + next.getAddress() + "getDescription:" + next.getDescription() + "getType:" + next.getType());
                            if (next.getAddress().equals(audioDeviceInfo.getAddress()) && next.getType() == type) {
                                this.isFindLineIn = true;
                                Log.d(TAG, "find line-in");
                                Reflect.on(audioManager).call("setForceMicroPhone", next);
                                break;
                            }
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    if (this.isFindLineIn) {
                        return;
                    }
                } else {
                    continue;
                }
            }
        }
    }

    @Override // android.app.Activity
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_audio_in_testctivity);
        try {
            if (isLineInAutoSwitch()) {
                this.isFindLineIn = true;
            } else {
                recordLastMic();
                setForceMicToLineIn();
                if (!this.isFindLineIn) {
                    throw new Exception("fail to setForceMicToLineIn");
                }
                new RecordThread().start();
            }
        } catch (Throwable th) {
            Log.e(TAG, "error", th);
            ((TextView) findViewById(R.id.audioin_tips)).setText(getString(R.string.failed_to_select_Line_in_microphone_device));
        }
        this.isStart = true;
        ((Button) findViewById(R.id.audioin_pass)).setOnClickListener(new View.OnClickListener() { // from class: com.ifpdos.factorytest.AudioInTestctivity$$ExternalSyntheticLambda0
            @Override // android.view.View.OnClickListener
            public final void onClick(View view) {
                this.f$0.lambda$onCreate$0(view);
            }
        });
        ((Button) findViewById(R.id.audioin_fail)).setOnClickListener(new View.OnClickListener() { // from class: com.ifpdos.factorytest.AudioInTestctivity$$ExternalSyntheticLambda1
            @Override // android.view.View.OnClickListener
            public final void onClick(View view) {
                this.f$0.lambda$onCreate$1(view);
            }
        });
    }

    /* JADX INFO: Access modifiers changed from: private */
    public /* synthetic */ void lambda$onCreate$0(View view) {
        setResult(1);
        finish();
    }

    /* JADX INFO: Access modifiers changed from: private */
    public /* synthetic */ void lambda$onCreate$1(View view) {
        setResult(2);
        finish();
    }

    @Override // android.app.Activity
    protected void onDestroy() {
        super.onDestroy();
        try {
            this.isStart = false;
            if (isLineInAutoSwitch()) {
                return;
            }
            this.audioTrack.stop();
            this.audioRecord.stop();
            RecordThread.interrupted();
            Reflect.on((AudioManager) getSystemService("audio")).call("setForceMicroPhone", this.lastMic);
        } catch (Exception e) {
            Log.e(TAG, "audio in test destroy error", e);
        }
    }

    private class RecordThread extends Thread {
        static final int audioEncoding = 2;
        static final int channelConfiguration = 12;
        static final int frequency = 44100;

        private RecordThread() {
        }

        @Override // java.lang.Thread, java.lang.Runnable
        public void run() {
            int minBufferSize = AudioRecord.getMinBufferSize(frequency, 12, 2) * 2;
            int minBufferSize2 = AudioTrack.getMinBufferSize(frequency, 12, 2) * 2;
            AudioInTestctivity.this.audioRecord = new AudioRecord(1, frequency, 12, 2, minBufferSize);
            AudioInTestctivity.this.audioTrack = new AudioTrack(3, frequency, 12, 2, minBufferSize2, 1);
            byte[] bArr = new byte[minBufferSize];
            AudioInTestctivity.this.audioRecord.startRecording();
            AudioInTestctivity.this.audioTrack.play();
            while (AudioInTestctivity.this.isStart) {
                AudioInTestctivity.this.audioTrack.write(bArr, 0, AudioInTestctivity.this.audioRecord.read(bArr, 0, minBufferSize));
            }
        }
    }

    private boolean isLineInAutoSwitch() {
        boolean zIsLineInAutoSwitch = false;
        try {
            zIsLineInAutoSwitch = VmanMiddleWare.getInstance().getAudioCtrl().isLineInAutoSwitch();
            Log.d(TAG, "get isLineInAutoSwitch from vman: " + zIsLineInAutoSwitch);
            return zIsLineInAutoSwitch;
        } catch (Throwable th) {
            Log.e(TAG, " get isLineInAutoSwitch from vman error", th);
            return zIsLineInAutoSwitch;
        }
    }
}
