package io.evercam.connect.discover.ipscan; import android.content.Context; import android.os.AsyncTask; import android.util.Log; import io.evercam.connect.db.CameraOperation; import io.evercam.network.discovery.Port; import io.evercam.network.discovery.PortScan; import io.evercam.network.discovery.PortScanCallback; public class PortScanTask extends AsyncTask<Void, Void, Void> { private final String TAG = "evercamdiscover-PortScanTask"; private String ssid; private String ip; private CameraOperation cameraOperation; public PortScanTask(final String ip, final String ssid, Context ctxt) { this.ip = ip; this.ssid = ssid; cameraOperation = new CameraOperation(ctxt); } @Override protected Void doInBackground(Void... params) { try { PortScan portScan = new PortScan(new PortScanCallback() { @Override public void onActivePort(Port port) { int portInt = port.getValue(); String portType = port.getType(); if(portType.equals(Port.TYPE_HTTP)) { cameraOperation.updateAttributeInt(ip, ssid, "http", portInt); } if(portType.equals(Port.TYPE_RTSP)) { cameraOperation.updateAttributeInt(ip, ssid, "rtsp", portInt); } } }); portScan.start(ip); } catch(Exception e) { Log.e(TAG, e.toString()); } return null; } }