package com.basic.security.utils.socket;
|
|
import android.os.SystemClock;
|
|
import com.basic.security.base.BaseApplication;
|
import com.basic.security.manager.BaseSettingManager;
|
import com.basic.security.utils.ExceptionUtil;
|
import com.jaredrummler.android.shell.CommandResult;
|
import com.jaredrummler.android.shell.Shell;
|
|
import java.util.LinkedList;
|
|
public class RelayServerUtil2 {
|
public static LinkedList<String> openDoorThreadQueue = new LinkedList<>();
|
public static long lastOpenDoorThread = System.currentTimeMillis();
|
|
public static void startOpenDoorThread() {
|
BaseApplication.getApplication().executorService.execute(() -> {
|
while (true) {
|
try {
|
synchronized (openDoorThreadQueue) {
|
if (openDoorThreadQueue.size() > 0) {
|
openDoorThreadQueue.clear();
|
lastOpenDoorThread = System.currentTimeMillis();
|
{
|
CommandResult commandResult = Shell.SU.run("cd /sys/class/gpio/",
|
"echo 12 > /sys/class/gpio/export",
|
"echo out > /sys/class/gpio/gpio12/direction ",
|
"echo 0 > /sys/class/gpio/gpio12/value "
|
);
|
System1.out.println(commandResult);
|
}
|
{
|
CommandResult commandResult = Shell.SU.run("cd /sys/class/gpio/",
|
"echo 157 > /sys/class/gpio/export",
|
"echo out > /sys/class/gpio/gpio157/direction ",
|
"echo 1 > /sys/class/gpio/gpio157/value "
|
);
|
System1.out.println(commandResult);
|
}
|
}
|
}
|
if (System.currentTimeMillis() - lastOpenDoorThread > BaseSettingManager.getOpenDoorDurationSeconds() * 1000) {
|
{
|
CommandResult commandResult = Shell.SU.run("cd /sys/class/gpio/",
|
"echo 12 > /sys/class/gpio/export",
|
"echo out > /sys/class/gpio/gpio12/direction ",
|
"echo 1 > /sys/class/gpio/gpio12/value "
|
);
|
}
|
{
|
CommandResult commandResult = Shell.SU.run("cd /sys/class/gpio/",
|
"echo 157 > /sys/class/gpio/export",
|
"echo out > /sys/class/gpio/gpio157/direction ",
|
"echo 0 > /sys/class/gpio/gpio157/value "
|
);
|
}
|
}
|
} catch (Exception e) {
|
ExceptionUtil.printException(e);
|
}
|
SystemClock.sleep(1000);
|
}
|
});
|
}
|
|
public static boolean open() {
|
synchronized (openDoorThreadQueue) {
|
openDoorThreadQueue.add(System.currentTimeMillis() + "");
|
}
|
return true;
|
}
|
}
|