package com.seewo.remote.c;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.util.Log;
import com.cvte.vman.instance.InvokeCmd;
import com.seewo.remote.base.App;
import com.seewo.remote.c.c;
import com.seewo.remote.g.w;
import com.seewo.sdk.event.OSEvent;
import com.seewo.sdk.eventbus.OnEventOfOS;
import com.seewo.sdk.eventbus.ThreadMode;
import com.seewo.sdk.model.SDKKeyboardCode;
import e.c.d.n;
import e.c.e.f.f;
import io.netty.channel.ChannelHandlerContext;
import io.netty.util.NetUtil;
import java.util.concurrent.TimeUnit;

/* JADX INFO: compiled from: RS232Client.java */
/* JADX INFO: loaded from: classes.dex */
public class d {
    private f a;

    /* JADX INFO: renamed from: c, reason: collision with root package name */
    private final Context f18c;

    /* JADX INFO: renamed from: d, reason: collision with root package name */
    private f.a.k.b f19d;
    private c.a b = c.a.NOT_CONNECTED;

    /* JADX INFO: renamed from: e, reason: collision with root package name */
    private boolean f20e = w.m();

    /* JADX INFO: renamed from: f, reason: collision with root package name */
    private final BroadcastReceiver f21f = new a();

    /* JADX INFO: renamed from: g, reason: collision with root package name */
    private final BroadcastReceiver f22g = new b();

    /* JADX INFO: renamed from: h, reason: collision with root package name */
    private final com.seewo.remote.c.c f23h = new c();

    /* JADX INFO: compiled from: RS232Client.java */
    class a extends BroadcastReceiver {
        a() {
        }

        @Override // android.content.BroadcastReceiver
        public void onReceive(Context context, Intent intent) {
            if ("com.ifpdos.service.aciton.RS232_APP_CHANGE".equals(intent.getAction())) {
                d.this.f20e = w.m();
                Log.v("RS232Client", "isRS232AppEnable:" + d.this.f20e);
            }
        }
    }

    /* JADX INFO: compiled from: RS232Client.java */
    class b extends BroadcastReceiver {
        b() {
        }

        @Override // android.content.BroadcastReceiver
        public void onReceive(Context context, Intent intent) {
            String stringExtra = intent.getStringExtra("data");
            String stringExtra2 = intent.getStringExtra("data_string");
            e.c.d.y.e.a("RS232Client", "receive command:" + stringExtra + ", data_string:" + stringExtra2);
            if (stringExtra == null) {
                if (stringExtra2 != null) {
                    byte[] bytes = stringExtra2.getBytes();
                    int length = bytes.length + 1;
                    byte[] bArr = new byte[length];
                    System.arraycopy(bytes, 0, bArr, 0, bytes.length);
                    bArr[length - 1] = SDKKeyboardCode.FUNCTION_KEY_BOARD_J;
                    d.this.onRs232DataReceive(new OSEvent.RS232Command((byte) 0, (byte) 0, (byte) 0, bArr));
                    e.c.d.y.e.a("RS232Client", "test string send:" + w.a(bArr));
                    e.c.d.y.e.a("RS232Client", "test string send char:" + new String(bArr));
                    return;
                }
                return;
            }
            String[] strArr = (String[]) e.c.d.y.c.f(stringExtra, String[].class);
            if (strArr == null || strArr.length == 0) {
                return;
            }
            byte[] bArr2 = new byte[strArr.length];
            for (int i2 = 0; i2 < strArr.length; i2++) {
                bArr2[i2] = (byte) Integer.parseInt(strArr[i2], 16);
            }
            d.this.onRs232DataReceive(new OSEvent.RS232Command((byte) 0, (byte) 0, (byte) 0, bArr2));
            e.c.d.y.e.a("RS232Client", "test send:" + w.a(bArr2));
            e.c.d.y.e.a("RS232Client", "test send char:" + new String(bArr2));
        }
    }

    /* JADX INFO: compiled from: RS232Client.java */
    class c implements com.seewo.remote.c.c {
        c() {
        }

        @Override // com.seewo.remote.c.c
        public void a(c.a aVar, ChannelHandlerContext channelHandlerContext) {
            Log.d("RS232Client", "receive connect state change in cmd channel:" + aVar);
            d.this.b = aVar;
            if (aVar == c.a.CONNECTED) {
                e.c.d.y.e.g("RS232Client", "RS232 Server connected");
                d.this.t();
            } else if (aVar == c.a.NOT_CONNECTED) {
                d.this.k();
            }
        }

        @Override // com.seewo.remote.c.c
        public void b(byte[] bArr) {
            StringBuilder sb = new StringBuilder();
            for (byte b : bArr) {
                sb.append((char) b);
            }
            int length = bArr.length / 64;
            int length2 = bArr.length % 64;
            Log.v("RS232Client", "messageCount:" + length + ", lastMessageLength:" + length2);
            for (int i2 = 0; i2 <= length; i2++) {
                if (i2 != length) {
                    byte[] bArr2 = new byte[64];
                    System.arraycopy(bArr, i2 * 64, bArr2, 0, 64);
                    e.c.d.y.e.g("RS232Client", "[W] message " + i2 + " byte:" + w.a(bArr2));
                    e.c.d.y.e.g("RS232Client", "[W] message " + i2 + " char:" + new String(bArr2));
                    d.this.q(bArr2);
                } else if (length2 != 0) {
                    byte[] bArr3 = new byte[length2];
                    System.arraycopy(bArr, i2 * 64, bArr3, 0, length2);
                    e.c.d.y.e.g("RS232Client", "[W] message " + i2 + " byte:" + w.a(bArr3));
                    e.c.d.y.e.g("RS232Client", "[W] message " + i2 + " char:" + new String(bArr3));
                    d.this.q(bArr3);
                }
            }
        }
    }

    public d(Context context) {
        this.f18c = context;
    }

    private int g(Context context, String str, int i2) {
        return context.getSharedPreferences("sdk_service_config", 0).getInt(str, i2);
    }

    private e h() {
        e eVar = new e(InvokeCmd.CMD_AV_MANAGER_SET_MIC_ALGORITHM_PARAMETERS);
        int i2 = i();
        if (i2 != -1) {
            eVar.b(i2);
            e.c.d.y.e.a("RS232Client", "form db, rs232Config:" + eVar);
            return eVar;
        }
        try {
            int i3 = this.f18c.getPackageManager().getApplicationInfo("com.seewo.remote", 128).metaData.getInt("KEY_PORT", -1);
            if (i3 == -1) {
                Log.e("RS232Client", "AndroidRemote Config error");
            } else {
                eVar.b(i3);
                r(i3);
            }
        } catch (PackageManager.NameNotFoundException e2) {
            Log.e("RS232Client", e2.getMessage(), e2);
        }
        e.c.d.y.e.a("RS232Client", "form app, rs232Config:" + eVar);
        return eVar;
    }

    private int i() {
        return g(App.b, "KEY_RS232_PORT", -1);
    }

    private void j() {
        int iA = h().a();
        if (com.seewo.remote.d.a.n()) {
            f.a aVarA = e.c.e.f.f.a("sysctl -w net.ipv4.ip_forward=1", true, false);
            f.a aVarA2 = e.c.e.f.f.a("iptables -A PREROUTING -t nat -p tcp --dport 23 -j REDIRECT --to-ports " + iA, true, false);
            Log.v("RS232Client", "commandResult1:" + aVarA.a + ", msg:" + aVarA.b + ", err:" + aVarA.f807c);
            Log.v("RS232Client", "commandResult2:" + aVarA2.a + ", msg:" + aVarA2.b + ", err:" + aVarA2.f807c);
        }
        this.a = new f(NetUtil.LOCALHOST.getHostAddress(), iA);
    }

    /* JADX INFO: Access modifiers changed from: private */
    public synchronized void k() {
        if (this.f19d != null) {
            this.f19d.dispose();
        }
        this.f19d = f.a.d.h(5L, TimeUnit.SECONDS).n(new f.a.m.c() { // from class: com.seewo.remote.c.a
            @Override // f.a.m.c
            public final void accept(Object obj) throws Exception {
                this.a.l((Long) obj);
            }
        });
    }

    private void n(byte[] bArr) {
        if (bArr == null) {
            Log.e("RS232Client", "RS232 data is null!");
            return;
        }
        if (bArr.length == 64 && ((bArr[0] == -46 && bArr[1] == -45) || (bArr[0] == -46 && bArr[1] == -2))) {
            Log.e("RS232Client", "UID auto test command");
            return;
        }
        if (!e.c.d.g.a.k()) {
            Log.e("RS232Client", "RS232 is not enabled!");
            return;
        }
        if (this.b != c.a.CONNECTED) {
            Log.e("RS232Client", "RS232 command handler is not connected!");
            return;
        }
        Log.v("RS232Client", "[R] Remote: " + w.a(bArr));
        this.a.g(bArr);
    }

    private boolean p(Context context, String str, int i2) {
        SharedPreferences.Editor editorEdit = context.getSharedPreferences("sdk_service_config", 0).edit();
        editorEdit.putInt(str, i2);
        return editorEdit.commit();
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void q(byte[] bArr) {
        n.a.k(bArr);
    }

    private boolean r(int i2) {
        return p(App.b, "KEY_RS232_PORT", i2);
    }

    private void s() {
        f fVar = this.a;
        if (fVar != null && fVar.d()) {
            this.a.j();
        }
        j();
        this.a.h(this.f23h);
        this.a.i();
        k();
    }

    /* JADX INFO: Access modifiers changed from: private */
    public void t() {
        f.a.k.b bVar = this.f19d;
        if (bVar != null) {
            bVar.dispose();
        }
    }

    public /* synthetic */ void l(Long l) throws Exception {
        Log.w("RS232Client", "Reconnecting to RS232 Server");
        s();
    }

    public void m() {
        t();
        this.a.j();
        this.f18c.unregisterReceiver(this.f22g);
        this.f18c.unregisterReceiver(this.f21f);
        e.c.d.d.d().l(this);
    }

    public void o() {
        j();
        s();
        IntentFilter intentFilter = new IntentFilter("com.seewo.mcuservice.aciton.TEST_RS232");
        intentFilter.addAction("com.seewo.mcuservice.aciton.REMOVE_RS232_DATA");
        this.f18c.registerReceiver(this.f22g, intentFilter);
        IntentFilter intentFilter2 = new IntentFilter("com.seewo.remote.action. ACTION_UPDATE_LAN_RS232_STATE");
        intentFilter2.addAction("com.ifpdos.service.aciton.RS232_APP_CHANGE");
        this.f18c.registerReceiver(this.f21f, intentFilter2);
        e.c.d.d.d().j(this);
    }

    @OnEventOfOS(threadMode = ThreadMode.MAIN)
    public void onRs232DataReceive(OSEvent.RS232Command rS232Command) {
        Log.v("RS232Client", "onRs232DataReceive, isRS232AppEnable:" + this.f20e);
        if (this.f20e) {
            boolean zO = com.seewo.vcommons.data.d.o("sys.autotest.running", false);
            Log.v("RS232Client", "rs232AutoTestEnable:" + zO);
            if (zO) {
                return;
            }
            n(rS232Command.mBufferData);
        }
    }
}
